[ 문제 ] : https://www.acmicpc.net/problem/1475
[ 문제 접근 ]
- 입력에 해당하는 숫자에 맞게 0~9 까지 배열을 만들어 count 하는 문제.
[ 최종 코드 ]
#include<iostream>
#include<algorithm>
using std::cout; using std::cin;
int n;
int arr[10];
int main() {
std::ios::sync_with_stdio(false);
cin.tie(nullptr); cout.tie(nullptr);
cin >> n;
// 각 자리수 배열 크기++
while (n) {
arr[n % 10]++;
n /= 10;
}
int max_idx = 0;
for (int i = 0; i < 10; i++) {
if (i == 6 || i == 9) { // 6 이랑 9 일 때는 따로 처리
max_idx = std::max((arr[6] + arr[9] + 1) / 2, max_idx);
continue;
}
max_idx = std::max(arr[i], max_idx);
}
cout << max_idx;
return 0;
}
[ Key Point ]
👉 6이랑 9일때는 서로 호환이 가능하니깐 두 값을 합쳐 반으로 나눠줘야 개수가 나온다.
floor, ceil (내림, 올림) 없이 2로 나웠을때 반올림 하려면
(arr[6] + arr[9] + 1) / 2
+1을 더해주고 나누면 된다.
'PS > BaekJoon' 카테고리의 다른 글
[1406] 에디터 - 연결 리스트 ★☆☆☆ / 복습 ● (0) | 2021.11.23 |
---|---|
[3273] 두 수의 합 - 배열/투 포인터 ★☆☆☆ / 복습 ○ (0) | 2021.11.23 |
[1005] ACM Craft - 위상정렬 ★★☆☆ / 복습 ○ (0) | 2021.11.20 |
[2438, 2439, 2440, 2441, 2442, 2443, 2445, 2446, 2522, 10991, 10992] 별 찍기 ☆☆☆☆ / 복습 ○ (0) | 2021.11.20 |
[9205] 맥주 마시면서 걸어가기 - BFS ★☆☆☆ / 복습 ○ (0) | 2021.11.18 |