SW Expert Academy
SW ํ๋ก๊ทธ๋๋ฐ ์ญ๋ ๊ฐํ์ ๋์์ด ๋๋ ๋ค์ํ ํ์ต ์ปจํ ์ธ ๋ฅผ ํ์ธํ์ธ์!
swexpertacademy.com
์ค๋ช
369 ๊ฒ์์ด๋ค. 3,6,9๊ฐ ํ ๋ฒ ๋ค์ด๊ฐ๋ฉด -๋ฅผ ์ถ๋ ฅํ๊ณ 3,6,9๊ฐ ๋ ๊ฐ ์ด์์ผ ๋๋ -๋ฅผ ํ์์ ๋ง๊ฒ ์ถ๋ ฅํ๋ค.
ํ์ด
๋จ์ ๊ตฌํ ๋ฌธ์ ์ด๋ค.
1. n๋งํผ ๋ฐ๋ณต๋ฌธ์ ๋๋ฆฐ๋ค.
2. ๋ฐ๋ณต๋ฌธ์์ ๊บผ๋ธ ์ ์๋ฅผ ๋ถ๋ฆฌํ๊ณ ๋ฆฌ์คํธ์ ์ ์ฅํ๋ค.
3. ์ ์๋ฅผ ๋ถ๋ฆฌํ ๋ฆฌ์คํธ์ 3, 6, 9๊ฐ ๋ค์ด๊ฐ ์์ผ๋ฉด, ์นด์ดํฐ ํจ์๋ฅผ ์ฌ์ฉํด ๊ฐ์๋ฅผ ์ผ๋ค.
4. ์นด์ดํธ ํ ๋ฆฌ์คํธ์์ key๊ฐ์ด 3, 6, 9์ธ ๊ฒ๋ง value๊ฐ์ ๊ฒฐ๊ณผ๊ฐ์ ์ ์ฅํ๋ค.
5. ๊ฒฐ๊ณผ๊ฐ ๊ฐ์๋งํผ '-'๋ฅผ ์ถ๋ ฅํ๋ค.
6. 3,6,9๊ฐ ๋ค์ด๊ฐ ์์ง ์์ ์๋ ๊ทธ๋๋ก ์ถ๋ ฅํ๋ค.
๋ค๋ฅธ ํ์ด
1. ๋ฆฌ์คํธ์ 3, 6, 9๋ฅผ ๋ฐ๋ก ์ ์ฅํ๋ค.
2. n๋งํผ ๋ฐ๋ณต๋ฌธ์ ๋๋ฆฐ๋ค.
3. ๋ฐ๋ณต๋ฌธ์์ ๊บผ๋ธ ์ ์๋ฅผ ๋ฌธ์ํ์ผ๋ก ๋ณํํ๊ณ ๋ฐ๋ณต๋ฌธ์ ์ด์ฉํด ํ๋์ฉ ๊บผ๋ธ๋ค.
4. ๊บผ๋ธ ๋ฌธ์๊ฐ 3, 6, 9๊ฐ ์ ์ฅ๋ ๋ฆฌ์คํธ์ ์๋ ๊ฒ๊ณผ ๊ฐ๋ค๋ฉด +1์ฉ ์นด์ดํธ๋ฅผ ํ๋ค.
5. ๋ฐ๋ณต๋ฌธ์ ํตํด ํ์ธ์ด ๋๋ฌ์ผ๋ฉด ์นด์ดํธ ๊ฐ์ด 0์ธ๊ฒ๊ณผ ์๋ ๊ฒ์ ํ๋จํ๋ค.
6. ์นด์ดํธ ๊ฐ์ด 1์ด์์ด๋ฉด ์นด์ดํธ ๊ฐ์๋งํผ '-'๋ฅผ ๊ณฑํด์ ์ ์ฅํ๋ค.
7. ๋ง์ง๋ง์ผ๋ก ์ถ๋ ฅํ๋ค.
Solution
from collections import Counter
n = int(input())
num = []
for i in range(1, n+1):
num = list(map(int, str(i))) #์ ์ ๋ถ๋ฆฌ, ๋ฆฌ์คํธ๋ก ๊ฐ์ธ์ค์ผ ํจ ์ ๊ทธ๋ฌ๋ฉด map object ๋์ด
if 3 in num or 6 in num or 9 in num:
cnt = 0
count_num = Counter(num) #์นด์ดํฐ ํจ์๋ฅผ ์ฌ์ฉํด ๊ฐ์ ์ธ๊ธฐ
for key, value in count_num.items():
if key == 3 or key == 6 or key == 9:
cnt += value #๊ฐ์ ์ ์ฅ
print('-'*cnt, end=" ")
else:
print(i, end=" ") #369 ์๋ ๊ฑด ์ถ๋ ฅ
๋ค๋ฅธ ํ์ด
n = int(input())
clap = ['3', '6', '9']
for i in range(1, n+1):
cnt = 0
for j in str(i): #์ ์๋ฅผ ๋ฌธ์ํ์ผ๋ก ๋ณํํ๊ณ ํ๋์ฉ ๊บผ๋ธ๋ค.
if j in clap: #3,6,9๊ฐ ๋ค์ด๊ฐ ์์ผ๋ฉด
cnt += 1 #์นด์ดํธ
if cnt > 0: #๋ง์ฝ ์นด์ดํธ๊ฐ 1์ด์์ด๋ฉด ์ฆ, 3,6,9๊ฐ ๋ค์ด๊ฐ ์์ด๋ฉด
i = '-' * cnt #์นด์ดํธ๋งํผ '-'์ ๊ณฑํ๊ณ ์ ์ฅ
print(i, end=' ') #๋ง์ง๋ง์ผ๋ก ์ถ๋ ฅ
๐ฉ๐ป ํ๊ณ
์ฝ๊ฒ ๊ฐ ์ ์๋ ํ์ด๋ ์์๋๋ฐ ๋๋ฌด ์ด๋ ต๊ฒ ํผ ๊ฒ ๊ฐ๋ค. ์ฒ์์ ํ ์๋ฆฌ์ผ ๋์ ๋ ์๋ฆฌ ์ด์์ผ ๋๋ฅผ ๋ถ๋ฆฌํด์ ํ์์ง๋ง ๊ทธ๋ ๊ฒ ํ๋ค๊ฐ ์ธ๋ฐ์์ด ์ฝ๋ ๊ธธ์ด๊ฐ ๊ธธ์ด์ง๋ค๊ณ ์๊ฐํ๋ค. ๊ทธ๋์ ๊ตณ์ด ๋ถ๋ฆฌํ ํ์๊ฐ ์๋๋ฅผ ๊นจ๋ฌ์์ ํ ์๋ฆฌ์ผ ๋๋ ๋ค ๋ถ๋ฆฌํ๋ ๋ฐฉํฅ์ผ๋ก ๊ฐ๋๋ ํ๊ฒฐ ๊ฐ๊ฒฐํด์ก๋ค.
๊ทธ๋ฌ๋ 369 ๊ฐ์๋งํผ '-'๋ฅผ ์ถ๋ ฅํด์ผ ํ๋ ๋ฌธ์ ์์ ๊ณ ๋ฏผ์ ๋ง์ด ํ๋๋ฐ, ๋ค๋ฅธ ์ฌ๋์ ํ์ด๋งํผ ๊ฐ๋จํ ๊ฒฐ๊ณผ๋ ๋์ค์ง ์์๋ค. ์ค๋๋ ํ๋ ๋ฐฐ์๊ฐ๋ค.
'๐งฉ Algorithm > SWEA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [SWEA] 1979. ์ด๋์ ๋จ์ด๊ฐ ๋ค์ด๊ฐ ์ ์์๊น (Python/D2) (1) | 2023.11.10 |
|---|---|
| [SWEA] 1946. ๊ฐ๋จํ ์์ถ ํ๊ธฐ (Python/D2) (0) | 2023.11.09 |
| [SWEA] 1970. ์ฌ์ด ๊ฑฐ์ค๋ฆ๋ (Python/D2) (2) | 2023.11.06 |
| [SWEA] 1204. ์ต๋น์ ๊ตฌํ๊ธฐ (Python/D2) (1) | 2023.11.02 |
| [SWEA] 1983. ์กฐ๊ต์ ์ฑ์ ๋งค๊ธฐ๊ธฐ (Python/D2) (2) | 2023.11.02 |