※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 백준 1388번 문제인 바닥 장식이다.
문제는 아래 링크를 확인하자.

https://www.acmicpc.net/problem/1388 

 

1388번: 바닥 장식

형택이는 건축가이다. 지금 막 형택이는 형택이의 남자 친구 기훈이의 집을 막 완성시켰다. 형택이는 기훈이 방의 바닥 장식을 디자인했고, 이제 몇 개의 나무 판자가 필요한지 궁금해졌다. 나

www.acmicpc.net

전체 바닥을 행방향으로 읽어나가면서 - 조각의 개수를 세고 열방향으로 읽어나가면서 | 조각의 개수를 세는 것으로 문제를 해결하자.

 

조각의 개수는 각 방향으로 읽어나가면서 해당 방향으로의 조각이 끊어지는 순간을 세는 식으로 구할 수 있다.

 

아래는 제출한 소스코드이다.

#include <iostream>
#include <string>
using namespace std;

int R, C;
string board[50];
int ans;

int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);

	cin >> R >> C;
	for (int r = 0; r < R; r++) cin >> board[r];

	for (int r = 0; r < R; r++) {
		bool tgt = 0;
		for (int c = 0; c < C; c++) {
			if (board[r][c] == '-') tgt = 1;
			else {
				if (tgt) ans++, tgt = 0;
			}
		}
		if (tgt) ans++;
	}
	for (int c = 0; c < C; c++) {
		bool tgt = 0;
		for (int r = 0; r < R; r++) {
			if (board[r][c] == '|') tgt = 1;
			else {
				if (tgt) ans++, tgt = 0;
			}
		}
		if (tgt) ans++;
	}

	cout << ans;
}
728x90

'BOJ' 카테고리의 다른 글

[BOJ 10565 // C++] Salary Inequity  (1) 2024.02.01
[BOJ 1888 // C++] 곰팡이  (0) 2024.01.31
[BOJ 11123 // C++] 양 한마리... 양 두마리...  (1) 2024.01.29
[BOJ 2790 // C++] F7  (0) 2024.01.28
[BOJ 2784 // C++] 가로 세로 퍼즐  (1) 2024.01.27

+ Recent posts