jyamethyst21 님의 블로그

백준 17614번 - '369' (PYTHON 풀이) 본문

CODING 💻

백준 17614번 - '369' (PYTHON 풀이)

jyamethyst21 2026. 3. 29. 00:45

문제:

 

정수가 주어질 때, 해당 정수만큼 369 게임을 하고 이때 들을 수 있는 박수의 총 횟수를 출력하면 되는 문제이다.

참고로 369 게임에서는 3,6,9가 들어간만큼 박수를 친다. 즉, 33이면 3이 두 개 있으니 박수를 두 번 쳐야한다.

이를 참고해서 코드를 작성하면 된다.

 

풀이:

N = int(input())
count = 0

for i in range(1, N+1):
    count += str(i).count('3') + str(i).count('6') + str(i).count('9')
print(count)

 

입력받은 정수만큼 반복문을 돌고, 해당 수를 문자열 형태로 바꾼다. 그러면 각 자릿수를 확인할 수 있기 때문에 전체를 돌면서 3, 6, 9가 들어있는지 count 함수로 수를 센다.

즉, i가 36이라면 문자열이라 3, 6을 각각 확인 가능하기 때문에 count 함수를 총 3번 써서 3, 6, 9에 대한 횟수를 센 뒤 전부 count 변수에 저장하는 것이다. 문자열로 바꾸지 않으면 상기 코드처럼 쉽게 확인이 불가능하다. (아마도 자릿수 분해를 위해 %를 써야할 것이다.)

결과적으로 count에는 횟수를 전부 더한 값이 들어가있으므로 해당 변수를 출력하면 문제를 풀 수 있다.