BOJ - 1475번_방 번호 (C++)
BOJ - 1475번_방 번호
한 세트에는 0번부터 9번까지 숫자가 하나씩 들어있다. 방 번호가 주어졌을 때, 필요한 세트의 개수의 최솟값을 출력하는 프로그램 작성하기 (6은 9를 뒤집어서 이용할 수 있고, 9는 6을 뒤집어서 이용할 수 있다.)
풀이
각 번호에 해당하는 인덱스의 배열 값을 1씩 증가시키며 개수를 확인한다. 가장 큰 배열 값이 필요한 세트의 개수이고, 6과 9는 합쳐서 계산한다.
소스코드
#include <bits/stdc++.h>
using namespace std;
int arr[15];
int main() {
ios::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
int n;
cin >> n;
while(n>=0) {
arr[n%10]++;
n/=10;
if(n==0) break;
}
int num=0;
for(int i=0; i<10; i++) {
if(i!=6 && i!=9) {
num = max(num, arr[i]);
}
}
cout << max(num, (arr[6]+arr[9]+1)/2);
}