코딩테스트/CodeUp

[Python] CodeUp 기초 100제 6,082 3 6 9 게임의 왕이 되자

몰입하는로건 2024. 4. 18. 08:53

[문제 풀기 전 생각한 부분]

1. 입력을 받고

2. for문을 이용한 뒤

3. 3으로 나누어 떨어지면 되겠군


[my_code]

n = int(input())            # 사용자로부터 입력을 받고

for i in range(1,n+1):      # 1부터 n까지 반복
    if i % 3 ==0:           # i를 3으로 나누었을 때, 나머지가 0이라면
        print('X',end=' ')  # X 출력
    else:                   # 그 외
        print(i,end=' ')    # i 출력

[문제점]

  • 처음에 9를 넣었는 데, 잘 되길래 제출 했더니 잘못된 풀이라고 한다.
  • 그래서 n에 다른 값을 넣어보았더니 왠걸,,, 이게 10이하에만 통하는 거였다...
  • 그러면 어떻게 할까 고민하던 중 그냥 그러면 각 자리별로 만들어주자라고 생각하였다 <- 이말은 아래 나옵니다.

[문제점 해결]

# 사용자로부터 숫자를 입력받습니다.
n = int(input())

# 1부터 'n'까지의 숫자를 반복합니다.
for i in range(1, n+1):
    # 현재 숫자의 일의 자리 숫자가 3, 6, 또는 9인지 확인합니다.
    if i % 10 == 3 or i % 10 == 6 or i % 10 == 9:
        # 일의 자리 숫자가 3, 6, 또는 9인 경우, 'X'를 출력합니다.
        print("X", end=' ')
    else:
        # 일의 자리 숫자가 3, 6, 9가 아닌 경우, 숫자 자체를 출력합니다.
        print(i, end=' ')