Notice
Recent Posts
Recent Comments
Link
언유상씨의 건전한 취미생활
[백준 알고리즘] 방 번호(1475번) C로풀기 본문
문제 이름 : 방 번호
문제 번호 : 1475
사용 언어 : C
문제 유형 : 구현
문제는 다음과 같다.
이 문제에서의 핵심 아이디어는, 6과 9는 서로 뒤집어서 사용할 수 있다는 것이다.
6과 9의 개수에 +1 을 하여 반으로 나누어 주면, 그것이 6, 9를 이용할때 필요한 세트수이다.
나머지 숫자들은 서로 뒤집어서 사용할 수 없으므로 숫자의 개수 = 필요한 세트수 가 된다.
이들중 가장 큰 세트 수를 구하면 된다.
따라서 다음과 같은 코드가 나온다.
#include <stdio.h>
int main() {
int n, arr[10] = { 0, };
scanf("%d", &n);
while (n != 0) {
arr[n % 10]++;
n /= 10;
}
int temp = (arr[6] + arr[9] + 1) / 2; #6과 9의 개수를 반으로 나누어준다. (+1은 홀,짝 모두 맞는 값이 나오도록 함)
for (int i = 0; i < 10; i++) {
if (i == 6 || i == 9)
continue;
if (arr[i] >= temp)
temp = arr[i];
}
if (temp == 0)
temp = 1;
printf("%d", temp);
return 0;
}
'건전한 취미생활 - 알고리즘' 카테고리의 다른 글
[백준 알고리즘] 저항(1076번) C로풀기 (0) | 2020.02.05 |
---|---|
[백준 알고리즘] 플러그(2010번) C로풀기 (0) | 2020.02.03 |
[백준 알고리즘] 앵그리 창영(3034번) C로풀기 (0) | 2020.01.31 |
[백준 알고리즘] 색종이(2563번) C로풀기 (0) | 2020.01.30 |
[백준 알고리즘] 설탕 배달(2839번) C로풀기 (0) | 2020.01.29 |
Comments