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=" ") #해당 수 출력