문제출처: https://www.acmicpc.net/problem/14647
풀이
빙고판에서 9의 총 갯수에서 9가 가장많이 나오는 행과 열 중 9가 더 많이등장한 행or열의 값을 뺀 값이 정답입니다.
값은 행/열 배열값을 의미하고, 각각의 행or열에서 등장하는 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 38 39 40 41 42 43 44 45 46 | #include<iostream> using namespace std; int max_val; int arr[500][500]; int row[500], col[500]; int sum; int func(int num); int main() { cin.tie(0); cin.sync_with_stdio(false); int n, m; cin >> n >> m; for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { cin >> arr[i][j]; row[i] += func(arr[i][j]); col[j] += func(arr[i][j]); sum += func(arr[i][j]); } } //행에대해서 탐색 for (int i = 0; i < n; i++) { if (row[i] > max_val)max_val = row[i]; } //열에대해서 탐색 for (int j = 0; j < m; j++) { if (col[j] > max_val)max_val = col[j]; } //전체 9의 갯수 값에서 행,열중 큰 값을 뺀값이 정답 cout << sum - max_val <<endl; } int func(int num) { int cnt = 0; while (num) { if (num % 10== 9)cnt++; num /= 10; } return cnt; } | cs |
'문제풀이(BOJ) > 시뮬레이션(구현)' 카테고리의 다른 글
[백준 13300] 방 배정 (0) | 2020.03.11 |
---|---|
[백준 17224] APC는 왜 서브태스크 대회가 되었을까? (3) | 2020.03.10 |
[백준 15953] 상금 헌터 (0) | 2020.03.10 |
[백준 1018] 체스판 다시 칠하기 (0) | 2020.02.07 |
[백준 5533] 유니크 (0) | 2020.01.19 |