반응형
코딩하기 전 생각하기
/*
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를 각각 출력한다.
*/
코드
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int main() {
int m, n;
cin >> m >> n;
char p[501][501];
int count[5] = {0, };
for ( int i = 0; i < 5 * m + 1; i++ ) {
for ( int j = 0; j < 5 * n + 1; j++ ) {
cin >> p[j][i];
}
}
for ( int i = 0; i < m; i++ ) {
for ( int j = 0; j < n; j++ ) {
if( p[5*j+1][5*i+4] == '*' ) count[4]++;
else if ( p[5*j+1][5*i+3] == '*' ) count[3]++;
else if ( p[5*j+1][5*i+2] == '*' ) count[2]++;
else if ( p[5*j+1][5*i+1] == '*' ) count[1]++;
else count[0]++;
}
}
for ( int i = 0; i < 5; i++ ){
cout << count[i] << " ";
}
}
느낀점
어렵진 않았는데 행과 열을 반대로 생각해서 좀 헤맸다. 😭
(주의) 기록용으로 작성한 글입니다. 코드가 허접하거나 알고리즘의 효율이 낮을 수 있습니다.
댓글 환영합니다!
반응형
'Algorithm > Baekjoon' 카테고리의 다른 글
[백준/BOJ] 8958번 - OX퀴즈 (C++) (0) | 2021.07.06 |
---|---|
[백준/BOJ] 4659번 - 비밀번호 발음하기 (파이썬) (0) | 2021.07.06 |
[백준/BOJ] 1159번 - 농구 경기 (C++) (0) | 2021.07.06 |
[백준/BOJ] 4344번 - 평균은 넘겠지 (C++) (0) | 2021.07.06 |
[백준/BOJ] 2920번 - 음계 (C++) (0) | 2021.07.05 |
댓글