본문 바로가기
프로그래밍/CodeUp

CodeUp[Q_2011] : 369 게임 2

by 조원일 2020. 2. 10.
728x90

1. 문제

https://codeup.kr/problem.php?id=2011

 

369 게임 2

시작 수(a)와 마지막 수(b)가 입력되면 그 범위의 369게임의 올바른 답을 출력하시오. ※ 369게임의 룰은 다음과 같다. 1. 시작수와 마지막수까지의 369게임의 올바른 답을 출력한다. 2. 한 줄에 하나의 결과를 출력한다. 3. 369에 해당될 경우 3이나 6이나 9가 들어간 개수만큼  "K"를 출력한다. 4. 그 외의 숫자들은 그냥 그대로 출력한다.

codeup.kr

[출처 : 코드업(https://codeup.kr/)]

이번 문제는 우리가 알고있는 369게임에서 박수대신 "K"를 출력하는 문제입니다. 

 

 

2. 해답

#include <stdio.h>

int f(int n) {
	int c = 0;

	while (n != 0) { // 각 자리수마다 3/6/9숫자기 있는지 확인
		if ((n % 10 == 3) || (n % 10 == 6) || (n % 10 == 9)) c++;
		n /= 10;
	}
	return c; // 3/6/9의 개수를 리턴
}

int main() {
	int a, b;
	int tmp;

	scanf("%d %d", &a, &b);

	for (int i = a; i <= b; i++) {
		tmp = f(i);
		if (tmp == 0) printf("%d\n", i);
		else {
			for (int j = 0; j < tmp; j++) {
				printf("K");
			}
			printf("\n");
		}
	}

	return 0;
}