Tiny Bunny
본문 바로가기
Algorithm/Python

[SWEA #1926] 간단한 369게임

by nowag 2024. 2. 22.

문제

3 6 9 게임을 프로그램으로 제작중이다. 게임 규칙은 다음과 같다.

 

1. 숫자 1부터 순서대로 차례대로 말하되, “3” “6” “9” 가 들어가 있는 수는 말하지 않는다.
  1 2 3 4 5 6 7 8 9

2. "3" "6" "9"가 들어가 있는 수를 말하지 않는대신, 박수를 친다. 이 때, 박수는 해당 숫자가 들어간 개수만큼 쳐야 한다.  
예를 들어 숫자 35의 경우 박수 한 번, 숫자 36의 경우 박수를 두번 쳐야 한다.
 

입력으로 정수 N 이 주어졌을 때, 1~N 까지의 숫자를

게임 규칙에 맞게 출력하는 프로그램을 작성하라.

박수를 치는 부분은 숫자 대신, 박수 횟수에 맞게 “-“ 를 출력한다.

여기서 주의해야 할 것은 박수 한 번 칠 때는 - 이며, 박수를 두 번 칠 때는 - - 가 아닌 -- 이다. 
 

제약사항

N은 10이상 1,000이하의 정수이다. (10 ≤ N ≤ 1,000)

 

입력

입력으로 정수 N 이 주어진다.


출력

1 ~ N까지의 숫자를 게임 규칙에 맞게 출력한다.

 

내가 쓴 코드

N = int(input())

for i in range(1, N+1):
    i = str(i)
    if len(i) >= 2: # 두 자리 수 이상일 때
        if '3' in i or '6' in i or '9' in i:
            for j in i:
                if j in ('3', '6', '9'):
                    print('-', end='')
        else:
            print(i, end='')
        print('', end=' ')
    else:       # 한 자리 수 일 때
        if i in ('3', '6', '9'):
            print('-', end=' ')
        else:
            print(i, end=' ')

 

출력 결과

728x90
반응형

'Algorithm > Python' 카테고리의 다른 글

[SWEA #12390] 배열2 - 부분집합의 합  (0) 2024.02.25
[SWEA #12398] 스택1 - 그래프 경로  (3) 2024.02.25
[SWEA #1240] 단순 2진 암호코드  (1) 2024.02.22
[SWEA #12918] 이진수  (2) 2024.02.22
[BOJ #2577] 숫자의 개수  (0) 2024.02.21