본문 바로가기

알고리즘 (Python)/코드업 기초 100제

[CodeUp] 코드업 기초 100제 6082번 풀이 - 파이썬(python)

728x90
반응형

6082 : [기초-종합] 3 6 9 게임의 왕이 되자(설명)(py)

시간 제한 : 1초 메모리 제한 : 128 MB

 


 

문제 설명

 

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

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

입력

 

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

출력

 

1 부터 그 수까지 순서대로 공백을 두고 수를 출력하는데,
3 또는 6 또는 9가 포함 되어있는 수인 경우, 그 수 대신 영문 대문자 X 를 출력한다.

입력 예시

 

1 2 X 4 5 X 7 8 X

출력 예시

 

B*1=B
B*2=16
B*3=21
B*4=2C
B*5=37
B*6=42
B*7=4D
B*8=58
B*9=63
B*A=6E
B*B=79
B*C=84
B*D=8F
B*E=9A
B*F=A5

내 풀이

 

a = int(input())

for i in range(1, a+1):
    
    if (i % 10 == 3 or i % 10 == 6 or i % 10 == 9):
        print("X", end=' ')
        
    else:
        print(i, end=' ')

모범 답안

 

n = int(input())

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

해설

 

369 룰에 따라 박수 대신 X를 출력하는 문제입니다. 입력값이 30보다 작은 정수이므로 30 이상은 고려하지 않습니다.\
369 룰에 따른 수를 어떻게 필터링할지 생각하다가 나머지를 구하는 앰퍼샌드 연산자 (%)를 사용하여 10으로 나누었을 때 나머지가 3 또는 6 또는 9 일 때가 369 룰에 해당하는 수입니다.
if 조건문을 사용하여 369 룰에 해당하면 X를, 아니면 i를 출력하도록 만들었습니다.
728x90
반응형