백준 Baekjoon

[C언어] 백준 1475 : 방 번호

sujo 2020. 7. 27. 16:28

백준 1475 : 방 번호

 

문제 링크

https://www.acmicpc.net/problem/1475

 

1475번: 방 번호

첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수 또는 0이다.

www.acmicpc.net

 

 

문제 내용

(요약) 플라스틱 숫자 0~9를 한 세트로 판매한다. 방 번호가 주어졌을 때, 필요한 세트 개수의 최솟값을 출력하시오.(6은 9를 뒤집어서 이용할 수 있고, 9는 6을 뒤집어서 이용할 수 있다.)

 

 

Idea

둘 중 높은 수가 최소 세트 개수

  • int (6과 9가 나온 개수+1) / 2
  • 그 외 숫자들 중 가장 많이 나온 숫자의 출현 횟수 

 

 

Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <string.h>
#define MAX(a,b) a>b?a:b
 
char N[1000001];
int main() {
    int set = 0, num[10= { 0 };
    scanf("%s", N);
    //0~9 각각 개수 count
    for (int i = 0; i < strlen(N); i++)
        num[N[i] - '0']++;
 
    //6과 9를 제외한 숫자들 중 가장 높은 빈도수
    for (int i = 0; i < 10; i++
        if (i != 6 && i != 9)     set = MAX(num[i], set);
 
    //결과
    set = MAX((num[6+ num[9+ 1/ 2, set);
 
    printf("%d\n", set);
    return 0;
}
cs

 

 

'백준 Baekjoon' 카테고리의 다른 글

[C언어] 백준 2577 : 숫자의 개수  (0) 2020.07.30
[C언어] 백준 2798 : 블랙잭  (0) 2020.07.30
[C언어] 백준 1912 : 연속합  (0) 2020.07.27
[C언어] 백준 10773 : 제로  (0) 2020.07.27
[C언어] 백준 1978 : 소수 찾기  (0) 2020.07.24