반응형
문제 링크
코드
#include <bits/stdc++.h>
using namespace std;
char p[501][501];
int cnt[5];
int main(void) {
ios::sync_with_stdio(0);
cin.tie(0);
int m, n, i, j;
cin >> m >> n;
for (i = 0; i < 5 * m + 1; i++)
for (j = 0; j < 5 * n + 1; j++)
cin >> p[j][i];
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
if (p[5 * j + 1][5 * i + 4] == '*') cnt[4]++;
else if (p[5 * j + 1][5 * i + 3] == '*') cnt[3]++;
else if (p[5 * j + 1][5 * i + 2] == '*') cnt[2]++;
else if (p[5 * j + 1][5 * i + 1] == '*') cnt[1]++;
else cnt[0]++;
}
}
for (i = 0; i < 5; i++)
cout << cnt[i] << ' ';
}
설명
M과 N을 입력 받는다.
그림을 이중 배열로 입력 받아보자.
이중 반복문을 통해 창문 하나하나를 판별해보자.
5M+1, 5N+4 위치의 문자가 *이면 5번째 창문이다.
위의 경우가 아니고, 5M+1, 5N+3 위치의 문자가 *이면 4번째 창문이다.
위의 경우가 아니고, 5M+1, 5N+2 위치의 문자가 *이면 3번째 창문이다.
위의 경우가 아니고, 5M+1, 5N+1 위치의 문자가 *이면 2번째 창문이다.
위의 경우가 모두 아니면 1번째 창문이다.
각각의 창문을 count한다.
5개 창문 count를 각각 출력한다.
행과 열을 반대로 생각해서 좀 헤맸다. 😭
(주의) 기록용으로 작성한 글입니다. 좋은 코드가 아닐 수 있습니다.
댓글 환영합니다!
반응형
'Algorithm > BOJ' 카테고리의 다른 글
[백준/BOJ] 2920번 - 음계 (C++) (0) | 2022.03.23 |
---|---|
[백준/BOJ] 2822번 - 점수 계산 (C++) (0) | 2022.03.23 |
[백준/BOJ] 2798번 - 블랙잭 (C++) (0) | 2022.03.23 |
[백준/BOJ] 2775번 - 부녀회장이 될테야 (C++) (0) | 2022.03.23 |
[백준/BOJ] 2783번 - 삼각김밥 (C++) (0) | 2022.03.23 |
댓글