학습 정리/👨‍💻 PS Study

[C] 백준 1475번 - 방 번호

무딘붓 2022. 7. 7. 10:21

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

 

1475번: 방 번호

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

www.acmicpc.net

(21.08.10)

 

1475번: 방 번호 - C언어 풀이

 

[소스 코드]

#include <stdio.h>
// [baekjoon] 1475번 - 방 번호

int main() {

	int s[10] = { 0 };
	int n;

	scanf("%d", &n);

	if (n == 0) {
		printf("1");
		return 0;
	}
	while (n > 0) {
		if (n % 10 == 6 && s[6] > s[9]) s[9]++;
		else if (n % 10 == 9 && s[9] > s[6]) s[6]++;
		else s[n % 10]++;
		n /= 10;

	}

	int max = 0;
	for (int i = 0; i < 10; i++) {
		if (s[i] > max) max = s[i];
	}
	printf("%d ", max);

}

6은 9를 뒤집어서 이용할 수 있고, 9는 6을 뒤집어서 이용할 수 있다. 라는 조건이 이 문제의 핵심이다.
내 경우에는 6이나 9를 써야하는 상황에서,
두 숫자중 덜 사용한게 있으면 해당 숫자를 사용하도록 하는 방식으로 풀었다.

세트의 개수는 가장 많이 사용한 숫자의 개수를 찾아서 구했다.​

주의해야할 조건이 있다.
"N은 1,000,000보다 작거나 같은 자연수 또는 0이다."