문제
다솜이는 은진이의 옆집에 새로 이사왔다. 다솜이는 자기 방 번호를 예쁜 플라스틱 숫자로 문에 붙이려고 한다.
다솜이의 옆집에서는 플라스틱 숫자를 한 세트로 판다. 한 세트에는 0번부터 9번까지 숫자가 하나씩 들어있다. 다솜이의 방 번호가 주어졌을 때, 필요한 세트의 개수의 최솟값을 출력하시오. (6은 9를 뒤집어서 이용할 수 있고, 9는 6을 뒤집어서 이용할 수 있다.)
입력
첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수 또는 0이다.
출력
첫째 줄에 필요한 세트의 개수를 출력한다.
예제 입력 1
9999 |
예제 출력 1
2 |
더보기
Solution
#include<stdio.h>
int main(void)
{
int N, max=0, number[10]={0, };
scanf("%d", &N);
number[0]+=N==0;
while(N>0)
{
number[N%10]++;
N/=10;
}
if((number[6]+number[9])%2==0)
number[6]=number[9]=(number[6]+number[9])/2;
else
{
number[6]+=number[9];
number[9]=number[6]/2;
number[6]-=number[9];
}
for(int i=0;i<10;i++)
max=number[i]>max?number[i]:max;
printf("%d\n", max);
return 0;
}
728x90
'백준 알고리즘' 카테고리의 다른 글
<백준 알고리즘> 1159번: 농구 경기 (0) | 2020.07.18 |
---|---|
<백준 알고리즘> 16430번: 제리와 톰 (0) | 2020.07.18 |
<백준 알고리즘> 10995번: 별 찍기 - 20 (0) | 2020.07.18 |
<백준 알고리즘> 2443번: 별 찍기 - 6 (0) | 2020.07.18 |
<백준 알고리즘> 1026번: 보물 (0) | 2020.07.17 |