백준 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 |