๋ฌธ์ ์ค๋ช
์ฌ์ ์ ์ํ๋ฒณ ๋ชจ์ 'A', 'E', 'I', 'O', 'U'๋ง์ ์ฌ์ฉํ์ฌ ๋ง๋ค ์ ์๋, ๊ธธ์ด 5 ์ดํ์ ๋ชจ๋ ๋จ์ด๊ฐ ์๋ก๋์ด ์์ต๋๋ค. ์ฌ์ ์์ ์ฒซ ๋ฒ์งธ ๋จ์ด๋ "A"์ด๊ณ , ๊ทธ๋ค์์ "AA"์ด๋ฉฐ, ๋ง์ง๋ง ๋จ์ด๋ "UUUUU"์ ๋๋ค.
๋จ์ด ํ๋ word๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์ด ๋จ์ด๊ฐ ์ฌ์ ์์ ๋ช ๋ฒ์งธ ๋จ์ด์ธ์ง return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ์ฌํญ
- word์ ๊ธธ์ด๋ 1 ์ด์ 5 ์ดํ์ ๋๋ค.
- word๋ ์ํ๋ฒณ ๋๋ฌธ์ 'A', 'E', 'I', 'O', 'U'๋ก๋ง ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
์ ์ถ๋ ฅ ์
์ ์ถ๋ ฅ ์ #1
์ฌ์ ์์ ์ฒซ ๋ฒ์งธ ๋จ์ด๋ "A"์ด๊ณ , ๊ทธ๋ค์์ "AA", "AAA", "AAAA", "AAAAA", "AAAAE", ... ์ ๊ฐ์ต๋๋ค. "AAAAE"๋ ์ฌ์ ์์ 6๋ฒ์งธ ๋จ์ด์ ๋๋ค.
์ ์ถ๋ ฅ ์ #2
"AAAE"๋ "A", "AA", "AAA", "AAAA", "AAAAA", "AAAAE", "AAAAI", "AAAAO", "AAAAU"์ ๋ค์์ธ 10๋ฒ์งธ ๋จ์ด์ ๋๋ค.
์ ์ถ๋ ฅ ์ #3
"I"๋ 1563๋ฒ์งธ ๋จ์ด์ ๋๋ค.
์ ์ถ๋ ฅ ์ #4
"EIO"๋ 1189๋ฒ์งธ ๋จ์ด์ ๋๋ค.
ํ์ด ์ฝ๋
def solution(word):
letter = 'AEIOU'
answer = 0
count = 0
def dfs(now, target):
nonlocal count
nonlocal answer
if now == target:
answer = count
return
if len(now) > 5:
return
count += 1
for l in letter:
dfs(now+l, target)
dfs('', word)
return answer
DFS๋ฅผ ํตํด ํ์๋ค.
์ด ์ฝ๋์ ๋จ์ ์, now == target์ธ ๊ฒ์ ์ฐพ์์ ๋ฆฌํด์ ํ๋๋ผ๋,
์ฌ๊ท์ ํจ์์ ํน์ฑ์ ์ฌ๊ท ์คํ์ ์์ธ ๋ชจ๋ ๊ฒ๋ค์ด ๋ฆฌํด๋์ง ์๋๋ค.
๋ฐ๋ผ์ ์๊ฐ ๋ณต์ก๋ ์ธก๋ฉด์์ ์ํด๋ฅผ ๋ณด๋ ๋ฉด์ด ์๋ค.
itertools ๋ชจ๋์ ์ฌ์ฉํด ๋ชจ๋ ์กฐํฉ์ ๋ง๋ค์ด์ ํ์ดํ๊ฑฐ๋,
์ฌ์ง์ด 5์ค for๋ฌธ์ ์ฌ์ฉํด ํ์ดํด๋ ํ๋ฆฐ๋ค.
'๐ ์ฝ๋ฉํ ์คํธ ๋๋น : PS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ค๋ฆฌ๋ฅผ ์ง๋๋ ํธ๋ญ (level2, python) (0) | 2022.09.19 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ๊ฒ์ ๋งต ์ต๋จ๊ฑฐ๋ฆฌ (level2, python) (1) | 2022.09.13 |
[ํ๋ก๊ทธ๋๋จธ์ค] [3์ฐจ] ํ์ผ๋ช ์ ๋ ฌ (level2, python) (0) | 2022.09.13 |
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ฐฉ๋ฌธ ๊ธธ์ด (level2, python) (0) | 2022.09.13 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์คํฌํธ๋ฆฌ (level2, python) (0) | 2022.09.13 |