우물 밖 병아리

[SWEA] 1926. 간단한 369게임(python) 본문

코테/solved

[SWEA] 1926. 간단한 369게임(python)

HOY01 2024. 12. 27. 15:06

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)

 

SW Expert Academy

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

swexpertacademy.com


테스트케이스

입력:  10

 

출력: 1 2 - 4 5 - 7 8 - 10


코드

T = int(input())
for test_case in range(1, T + 1):
    count = 0
    test_case = str(test_case)
    for i in range(len(test_case)):
        if (test_case[i] == ('3')) or (test_case[i] == ('6')) or (test_case[i] == ('9')):
            count += 1
    if count == 0:
        print(test_case, end = '')
    else:
        for i in range(count):
            print('-', end = '')
    if int(test_case) != T:
        print(' ', end = '')

회고

되돌아 보면 굳이 for문을 한 번 더 안 써도

'-' * count를 사용할 수 있었다.

'코테 > solved' 카테고리의 다른 글

[BOJ] 1024. 수열의 합(python)  (4) 2024.12.28
[BOJ] 1929. 소수 구하기(python)  (5) 2024.12.28
[SWEA] 2071. 평균값 구하기(python)  (5) 2024.12.27
[SWEA] 2072. 홀수만 더하기(python)  (2) 2024.12.27