반응형
밑의 링크는 CodeUp에서의 문제 링크입니다.
주의해야 할 점
이 문제에서 3 6 9 게임은 최대 29까지만 진행합니다.
그래서 일의 자리수만 염두에 두고 풀어도 됩니다.
만약 30 이상 더 진행되는 3 6 9 게임이라면 다른 방법으로 풀어야합니다.
생각한 풀이 과정
- 1 ~ 29 사이 숫자인 30보다 작은 정수 1개를 입력합니다. 입력한 정수를 정수형으로 변환합니다.
- 1부터 입력한 정수까지 반복하는 반복문을 만듭니다.
- 현재 숫자를 10으로 나눈 나머지인 일의 자리 숫자를 변수 remainder에 저장합니다.
- remainder의 값이 3, 6, 9 중 하나라면 X를 출력하고 한 칸을 띄웁니다.
- remainder의 값이 3, 6, 9 중 하나가 아니라면 현재 숫자 그대로 출력하고 한 칸을 띄웁니다.
- 1부터 입력한 정수까지 과정 3 ~ 과정 5를 반복합니다.
제출한 파이썬 코드
# readline을 사용하기 위해 import합니다.
from sys import stdin
# 1 ~ 29 중 3 6 9 게임의 마지막 숫자 1개를 입력합니다.
# 정수형으로 변환합니다.
end_num = int(stdin.readline())
# 1부터 end_num의 값까지 반복합니다.
for num in range(1, end_num + 1):
# 3 6 9 게임을 최대 29까지만 진행하므로
# 일의 자리 숫자가 3, 6, 9인지만 생각하면 됩니다.
# 현재 숫자의 1의 자리 숫자를 저장하는 변수를 선언합니다.
remainder = num % 10
# 1의 자리 숫자가 3, 6, 9 중 하나라도 속한다면
if remainder in [3, 6, 9]:
# X를 출력하고 한 칸 띄어줍니다.
print('X', end=' ')
# 그 외의 숫자라면
else:
# 현재 숫자를 출력하고 한 칸 띄어줍니다.
print(num, end=' ')
제출 결과
느낀 점
처음 제출했을 때는 뭔 정신으로 풀었는지... ㅎㅎ
그냥 3으로 나누었을 때 나머지가 0이면 X로 표시되게 풀어놨네요... 너무 창피합니다... ㅎㅎ
※ 궁금한 부분, 이상한 점 및 오타는 댓글에 부탁드립니다.
※ 더 효율적이고 빠른 정답을 환영합니다.
반응형
댓글