허비의 기술블로그

[SWEA] 간단한 369게임(1926) - PYTHON 본문

SWEA

[SWEA] 간단한 369게임(1926) - PYTHON

허비1411 2022. 4. 30. 14:14

369게임에서 박수를 쳐야하는 숫자는 박수의 수 만큼 '-'를 출력하고, 아닌 수는 그대로 숫자를 출력한다.

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com


풀이과정

1~N까지의 모든 숫자에 대해 숫자에서 (3,6,9)의 갯수를 숫자 % 10, 숫자 / 10 을 반복하며 찾아낸다. 갯수가 0이면 숫자를 그대로 출력하고, 1 이상이면 그 숫자만큼 '-'를 출력한다.


코드

N = int(input())
for num in range(1, N + 1):
    temp = num
    cnum = 0
    while temp > 0:
        if temp % 10 in [3, 6, 9]:
            cnum += 1
        temp //= 10
    if cnum > 0:
        print("-" * cnum, end=" ")
    else:
        print(num, end=" ")

주석 추가

N = int(input()) #1부터 출력할 숫자의 범위
for num in range(1, N + 1):
    temp = num # 현재 숫자에서 (3,6,9)의 갯수를 구하기 위한 변수
    cnum = 0 # 현재 숫자에서 (3,6,9)의 갯수
    while temp > 0: # 현재 수에서 검사할 숫자가 남아있다면
        if temp % 10 in [3, 6, 9]: # 가장 오른쪽 자리 수가 (3,6,9)안에 있다면
            cnum += 1 # 갯수 증가
        temp //= 10 # 현재 수 / 10
    if cnum > 0: # (3,6,9)개수가 1개 이상이면
        print("-" * cnum, end=" ") #'-'를 갯수만큼 출력
    else:
        print(num, end=" ") #해당 수 출력

 

'SWEA' 카테고리의 다른 글

[SWEA] Flatten(1208) - PYTHON  (0) 2022.05.02
[SWEA] VIEW(1206) - PYTHON  (0) 2022.05.01
[SWEA] 스도쿠 검증(1974) - PYTHON  (0) 2022.04.30
[SWEA] 백만 장자 프로젝트(1859) - PYTHON  (0) 2022.04.30
Comments