๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์•Œ๊ณ ๋ฆฌ์ฆ˜ ๐Ÿ’ก

[D2] 1926. ๊ฐ„๋‹จํ•œ 369๊ฒŒ์ž„

by @ENFJ 2022. 11. 19.

๋ฌธ์ œ

 

SW Expert Academy

SW ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์—ญ๋Ÿ‰ ๊ฐ•ํ™”์— ๋„์›€์ด ๋˜๋Š” ๋‹ค์–‘ํ•œ ํ•™์Šต ์ปจํ…์ธ ๋ฅผ ํ™•์ธํ•˜์„ธ์š”!

swexpertacademy.com

 

์ฝ”๋“œ

num = int(input()) # ์ •์ˆ˜ ์ž…๋ ฅ ๊ฐ’์„ num ๋ณ€์ˆ˜์— ๋‹ด์•„๋‘ .
ans = '' # ๋ฌธ์ž์—ด ๋ณ€์ˆ˜ (์ถœ๋ ฅ ๊ฐ’์„ ๋‹ด์„ ๋ณ€์ˆ˜)
condition = ['3','6','9'] # ๋ฌธ์ž์—ด 3, 6, 9 ๋ฅผ condition ์ด๋ผ๋Š” ๋ฆฌ์ŠคํŠธ ๋ณ€์ˆ˜์— ๋‹ด์•„๋‘ 

for n in range(1, num+1): # 1๋ถ€ํ„ฐ num(์ž…๋ ฅ๋ฐ›์€ ์ˆ˜) ๊นŒ์ง€  ํ•˜๋‚˜์”ฉ ๋ฐ˜๋ณต
    cnt = 0 # ์ •์ˆ˜ํ˜• ๋ณ€์ˆ˜
    digit = str(n) # 1~num ๊นŒ์ง€์˜ ์ˆ˜๋ฅผ ํ•˜๋‚˜์”ฉ ๋ฝ‘์•„์„œ n์ด๋ผ๋Š” ๋ณ€์ˆ˜์— ๋‹ด๋Š”๋ฐ, ๋ณ€์ˆ˜ n์„ ๋ฌธ์ž๋กœ ๋ฐ”๊พธ์–ด์„œ digit ๋ผ๋Š” ๋ณ€์ˆ˜์— ์ €์žฅ.
    for d in digit: # digit ๋ณ€์ˆ˜์—์„œ ํ•˜๋‚˜์”ฉ ๋ฝ‘์•„ d์— ๋„ฃ๊ณ 
        if d in condition: # ๋งŒ์•ฝ ๋ณ€์ˆ˜ d ๊ฐ€ condition ์ด๋ผ๋Š” ๋ฆฌ์ŠคํŠธ ๋ณ€์ˆ˜์— ์žˆ๋Š” ๊ฐ’๊ณผ ๋™์ผํ•œ ๊ฐ’์ด ์žˆ๋‹ค๋ฉด
            cnt += 1 # cnt๋ณ€์ˆ˜ ์— 1์„ ๋”ํ•ด์คŒ.
    if cnt == 0: # ๋งŒ์•ฝ cnt ๋ณ€์ˆ˜ ๊ฐ’์ด 0์ด๋ผ๋ฉด
        ans += digit # ๋ฌธ์ž์—ด ๋ณ€์ˆ˜ ans ์— digit ๋ฅผ ์ถ”๊ฐ€ํ•ด์„œ ์ €์žฅํ•จ.
    else: # ๋งŒ์•ฝ cnt ๋ณ€์ˆ˜ ๊ฐ’์ด 0์ด ์•„๋‹ˆ๋ผ๋ฉด
        for _ in range(cnt): # cnt๋ฒˆ ๋ฐ˜๋ณต
            ans += '-' # - ๋ฌธ์ž ์ถ”๊ฐ€ํ•˜๊ธฐ
    ans += ' ' # ๋„์–ด ์“ฐ๊ธฐ

print(ans) # ์ถœ๋ ฅ

์ฝ”๋“œ2

n = int(input())

for i in range(1, n+1): # 1~100
    i = str(i)
    clap = i.count('3') + i.count('6') + i.count('9')

    if clap == 0:
        print(i , end=" ")
    else:
        print("-" * clap, end=" ")