풀이
방 번호 문제의 경우, 6과 9가 겹치는 부분만 처리해주면 크게 어렵지 않은 문제입니다.
문자를 하나 하나 비교하여 배열을 증가시키는 경우 코드가 길어지기 때문에 '0'의 아스키 코드 값이 48인 것을 활용하여 문제를 풀었습니다. 또는 int형으로 숫자를 입력받고 10으로 0이 될 때까지 나누어 나머지 값을 인덱스로 참조하여 배열을 증가시켜 주는 방법도 가능합니다.
코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
#include <cstdio>
using namespace std;
int main() {
int a[9] = { 0, };
char line[8];
scanf("%s", &line);
int i = 0;
while (line[i])
{
int x = line[i] - 48;
if (x == 9)
a[6]++;
else
a[x]++;
i++;
}
a[6] = (a[6] + 1) / 2;
int m = 0;
for (int i = 0; i < 10; i++)
{
if (a[i] > m)
m = a[i];
}
printf("%d\n", m);
return 0;
}
|
제출 결과
문제 출처
https://www.acmicpc.net/problem/1475
1475번: 방 번호
첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수 또는 0이다.
www.acmicpc.net
'algorithm codes > baekjoon online judge' 카테고리의 다른 글
2750번: 수 정렬하기 (백준 온라인 저지, C++) (0) | 2019.04.01 |
---|---|
6064번: 카잉 달력 (백준 온라인 저지, C++) (0) | 2019.03.31 |
2775번: 부녀회장이 될테야 (백준 온라인 저지, C++) (0) | 2019.03.31 |
5622번: 다이얼 (백준 온라인 저지, C++) (0) | 2019.03.31 |
2908번: 상수 (백준 온라인 저지, C++) (0) | 2019.03.31 |