티스토리 뷰
문제:심술쟁이 해커 임준오(동탄 주민)는 새를 싫어한다. 특히 비둘기를 싫어한다.
준오는 수업시간에 옆자리 짝꿍과 빙고게임을 하기로 했다. 준오와 짝꿍은 각자 원하는 숫자를 n*m 격자의 빙고판에 적었다. 그러고는 서로의 빙고판을 교환했는데, 준오는 짝꿍의 빙고판을 확인하자마자 화가 치밀어 올랐다. 짝꿍의 빙고판에 9가 들어간 숫자들이 엄청 많아서 비둘기가 떠올랐기 때문이다. 그래서 준오는 짝꿍의 빙고판을 부숴버렸다.
하지만 준오의 폭동에는 특별한 룰이 있다. 바로 모든 행과 열을 통틀어서 9가 가장 많이 쓰여 있는 행 또는 열을 단 하나만 부수는 것이다!
빙고판을 부수는 순간 준오와 선생님의 눈이 마주쳤고, 선생님은 빙고판에 남아있는 9의 개수만큼 준오를 때리기로 했다. 준오는 몇 대를 맞아야 할까?
풀이:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
#include <stdio.h>
int main() {
int n, m, i = 0, j = 0, max = 0, sum_ = 0, sum = 0, num = 0;
int ar[550][550];
scanf("%d %d", &n, &m);
for (i = 0; i < n; i++) {
for (j = 0; j < m; j++) {
scanf("%d", &ar[i][j]);
}
}
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
num = ar[j][i];
while (num != 0) {
if (num % 10 == 9) sum_++;
num /= 10;
}
}
if (max < sum_) max = sum_;
sum_ = 0;
}
for (i = 0; i < n; i++) {
for (j = 0; j < m; j++) {
num = ar[i][j];
while (num != 0) {
if (num % 10 == 9)
sum_++;
num /= 10;
}
}
sum += sum_;
if (max < sum_) max = sum_;
sum_ = 0;
}
printf("%d", sum - max);
}
|
cs |
먼저 빙고판의 크기를 받습니다.( n, m)
그 후 빙고판 안의 수를 2차원 배열 안에 집어 넣고, 각 수가 9인지 판별후 카운트,
그 줄에 9가 얼마나 있는지 파악, 9가 가장 많은 줄을 지우고, 그 줄의 9를
지금까지 카운트 했던 것에서 뺀 후 출력합니다.
'백준' 카테고리의 다른 글
BOJ]14487번_욱제는 효도쟁이야!! (0) | 2019.06.04 |
---|---|
BOJ]3035번_스캐너 (0) | 2019.06.03 |
BOJ]3034번_앵그리 창영 (0) | 2019.06.01 |
BOJ]14726번_신용카드 판별 (0) | 2019.05.28 |
BOJ]2864번_5와 6의 차이 (1) | 2019.05.27 |
댓글