μ½”λ”©ν…ŒμŠ€νŠΈ/code up

6082 : 3 6 9 κ²Œμž„μ˜ 왕이 되자

μœ€μ½”λ”© 2022. 1. 10. 20:35

문제

1 ~ 29의 κ°’ 쀑 3, 6, 9κ°€ λ‚˜μ˜€λ©΄ μˆ«μžλŒ€μ‹  Xλ₯Ό 좜λ ₯ν•˜λŠ” ν”„λ‘œκ·Έλž¨

 

μž…λ ₯ μ˜ˆμ‹œ :

9

좜λ ₯ μ˜ˆμ‹œ :

1 2 X 4 5 X 7 8 X


# κΈ°μ‘΄ μ •λ‹΅ (1~29μ‚¬μ΄μ˜ 값이 μž…λ ₯)

 

num = int(input())

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

 


μœ„ μ˜ˆμ œλŠ” 30 이상은 μ²΄ν¬ν•˜μ§€ μ•Šμ•˜λŠ”λ°, λ§Œμ•½ 33일 경우 Xκ°€ μ•„λ‹Œ XX λ₯Ό 좜λ ₯ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ΄λΌλ©΄ 

더 λ³΅μž‘ν•΄μ§‘λ‹ˆλ‹€.

ν•œλ²ˆ κ΅¬ν˜„ν•΄ λ³΄μ•˜μŠ΅λ‹ˆλ‹€.

(μœ„μ˜ μ½”λ“œλ₯Ό λ‹€μ‹œλ³΄λ‹ˆ i%10을 μ €μž₯ν•΄λ†“μœΌλ©΄ 맀번 계산할 ν•„μš”κ°€ μ—†μ–΄ 더 νš¨μœ¨μ μž…λ‹ˆλ‹€.)

 

 

num = int(input())

 

for i in range(1, num+1):

    val_1 = i%10

    val_10 = i//10

    if(val_10 == 3 or val_10 == 6 or val_10 ==9):

        if(val_1==3 or val_1==6 or val_1==9):

            print("XX", end=' ')

        else:

            print("X", end=' ')

    elif(val_1==3 or val_1==6 or val_1==9):

        print("X", end=' ')

    else:

        print(i, end=' ')

 

이 μ½”λ“œλ„ 10의 μžλ¦¬κΉŒμ§€ 밖에 ν•΄κ²°ν•˜μ§€ λͺ»ν•˜μ—¬ λ­”κ°€ μ•„μ‰½μŠ΅λ‹ˆλ‹€.

숫자둜 κ³„μ‚°ν•˜λ©΄ 100의 μžλ¦¬κΉŒμ§€ κ΅¬ν˜„ν•˜λ©΄ 또 1000의 μžλ¦¬μ—μ„œ λ¬Έμ œκ°€ μƒκΈΈλ“―ν•©λ‹ˆλ‹€.


λ”°λΌμ„œ 문자둜 λ°”κΎΈμ–΄ κ΅¬ν˜„ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

 

num = int(input())

 

for i in range(1, num+1):

    str_num = str(i)

    cnt = 0

    for j in str_num:

        if(j=='3') or (j=='6') or (j=='9'):

            cnt += 1

 

    if cnt == 0:

        print(i, end=' ')

    else:

        print("X"*cnt, end=' ')