알고리즘 문제
[C/C++ 백준 1475번] 방 번호 (Silver 5)
새파란 공대생
2020. 7. 7. 21:02
https://www.acmicpc.net/problem/1475
1475번: 방 번호
첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수 또는 0이다.
www.acmicpc.net
숫자의 개수를 세는데, 6과 9는 같이 세어주자 (같이 쓸 수 있다). 이후 한 세트에 6이 2개씩(아니면 9가 2개씩) 들어있음을 감안해서 숫자 세트의 수를 세어주면 된다.
코드는 다음과 같다.
#include <cstdio>
#include <algorithm>
using namespace std;
int main(void){
int N, num[10]={}, maxi=-1, sixorninecnt=0;
scanf("%d",&N);
while(N>=10){
num[N%10]++;
N /= 10;
}
num[N]++;
for(int i=0; i<10; i++){
if(i==6 || i==9)
sixorninecnt += num[i];
else
maxi = max(maxi, num[i]);
}
maxi = max(maxi, (sixorninecnt+1)/2);
printf("%d", maxi);
}