SW Expert

[SWEA] 1926 간단한 369게임 Python

꿀떡최고 2021. 5. 15. 10:10
반응형

[ 문제 ]

 

난이도:  D2

문제 번호:  1926

 

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PTeo6AHUDFAUq&categoryId=AV5PTeo6AHUDFAUq&categoryType=CODE&problemTitle=1926&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=&pageSize=10&pageIndex=1

 

SW Expert Academy

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

swexpertacademy.com


 

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

 

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

 

2. "3" "6" "9"가 들어가 있는 수를 말하지 않는대신, 박수를 친다. 

이 때, 박수는 해당 숫자가 들어간 개수만큼 쳐야 한다.  


예를 들어 숫자 35의 경우 박수 한 번, 숫자 36의 경우 박수를 두번 쳐야 한다.

 

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

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

 

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

 

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

[제약사항]

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


 

[ 코드 ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
= int(input())
numbers = []
number = ['3''6''9']
result = ''
for i in range(1, T+1):
    if i < 10:
        if i == 3 or i == 6 or i == 9:
            print('-', end=' ')
        else:
            print(i, end=' ')
    else:
        numbers.extend(str(i))
        for j in range(0len(numbers)):
            if numbers[j] == '3' or numbers[j] == '6' or numbers[j] == '9':
                numbers[j] = '-'
 
        if '-' in numbers:
 
            for k in range(0len(numbers)):
                if numbers[k] == '-':
                    result +='-'
            print(result, end=' ')
            numbers = []
            result = ''
        else:
            print(i, end=' ')
            numbers = []
 
cs
반응형