본문 바로가기
Data structure & Algorithm/Code up

[Code up] 코드업 6082번 문제 풀이(Python)

by LydiaRyu 2022. 7. 19.
반응형

코드업 6082번 문제: 3 6 9 게임의 왕이 되자(Python)

 

📒 문제 설명

친구들과 함께 3 6 9 게임을 하던 영일이는 잦은 실수 때문에 계속해서 벌칙을 받게 되었다.
3 6 9 게임의 왕이 되기 위한 369 마스터 프로그램을 작성해 보자.

** 3 6 9 게임은?
여러 사람이 순서를 정한 후, 순서대로 수를 부르는 게임이다.
만약 3, 6, 9 가 들어간 수를 자신이 불러야 하는 상황이라면, 수를 부르는 대신 "박수(X)"를 쳐야 한다.
33과 같이 3,6,9가 두 번 들어간 수 일 때, "짝짝"과 같이 박수를 두 번 치는 형태도 있다. 

입력 예시

30 보다 작은 정수 1개가 입력된다.
(1 ~ 29)

9

출력 예시

1 2 X 4 5 X 7 8 X

 

😃 문제 풀이

n = int(input())

for i in range(1, n + 1):
    
    if i % 10 in (3, 6, 9):
        print("X")
    else:
        print(i)

 

  • 먼저, 1부터 입력받은 정수까지의 수를 순차적으로 출력해야 하기 때문에 range() 함수를 이용하여 1부터 n + 1까지를 설정한다. 

 

  • 3, 6, 9 게임은 3, 6, 9 숫자가 나올 때마다 박수 (문제에서는 X출력)를 치는 게임이고, 문제상에서는 29까지의 숫자가 입력되기 때문에 끝자리가 3, 6, 9일 때만 고려하면 된다.  따라서, 10으로 나눈 나머지를 구하면 각 수의 마지막 자릿수를 구할 수 있다. 조건문 if를 이용해서 10으로 나눈 나머지(%)가 3, 6, 9이면 X를 출력하도록 한다. 그리고 3, 6, 9로 끝나지 않는 다른 값들은 그대로 출력해주도록 한다.
728x90

댓글