1475번 방번호 (C++)
728x90
반응형
https://www.acmicpc.net/problem/1475
9의 경우는 6인 것처럼 카운팅해준다.
0부터 9까지 몇 개 나왔는지 확인하고 6은 6과 9의 카드 모두 쓸 수 있으니 2로 나눠서 몇 팩이 필요한지 본다.
만약 6이 홀수로 남으면 한 팩이 더 필요하므로 +1 해준다.
나머지 숫자는 한 팩당 카드 하나씩 있으므로 카운팅한 갯수가 필요한 팩의 수이다.
각 숫자가 필요한 팩의 개수 중 가장 큰 수가 답이다.
#include <iostream>
#include <string>
using namespace std;
int num[10];
int main(void) {
ios::sync_with_stdio(false);
cin.tie(NULL);
int n;
cin >> n;
while (n > 0) {
num[n % 10]++;
if (n % 10 == 9) {
num[9]--;
num[6]++;
}
n /= 10;
}
num[6] = num[6] % 2 == 0 ? num[6] / 2 : num[6] / 2 + 1;
int sum = 1;
for (int i = 0; i < 10; i++) {
if (sum < num[i]) {
sum = num[i];
}
}
cout << sum << "\n";
return 0;
}
728x90
반응형
'백준' 카테고리의 다른 글
[백준] 3273번 두 수의 합 (배열, 포인터 c++) (0) | 2021.09.24 |
---|---|
[백준] 1919번 애너그램 만들기 (배열, C++) (0) | 2021.09.24 |
[백준] 17298번 오큰수 (java, 스택) (0) | 2021.05.04 |
[백준] 2846번 오르막길 (java, 구현) (0) | 2021.05.02 |
[백준] 1789번 수들의 합 (java, 이분탐색) (0) | 2021.05.01 |
TAGS.