๐ ๋ฌธ์
https://school.programmers.co.kr/learn/courses/30/lessons/84512
ํ๋ก๊ทธ๋๋จธ์ค
SW๊ฐ๋ฐ์๋ฅผ ์ํ ํ๊ฐ, ๊ต์ก, ์ฑ์ฉ๊น์ง Total Solution์ ์ ๊ณตํ๋ ๊ฐ๋ฐ์ ์ฑ์ฅ์ ์ํ ๋ฒ ์ด์ค์บ ํ
programmers.co.kr
๐ ๋ด๊ฐ ์๊ฐํ ํ์ด
- itertools.product:
- repeat=i๋ฅผ ์ฌ์ฉํด ๊ธธ์ด๊ฐ i์ธ ๋ชจ๋ ๊ฐ๋ฅํ ์กฐํฉ์ ์์ฑํฉ๋๋ค.
- ์: i=2์ผ ๋, ๊ฒฐ๊ณผ๋ ('A', 'A'), ('A', 'E'), ..., ('U', 'U').
- words.append("".join(j)):
- ์์ฑ๋ ํํ(('A', 'A'))์ ๋ฌธ์์ด๋ก ๋ณํํ์ฌ ๋ฆฌ์คํธ์ ์ถ๊ฐํฉ๋๋ค.
- words.sort():
- ์์ฑ๋ ๋จ์ด๋ค์ ์ฌ์ ์์ผ๋ก ์ ๋ ฌํฉ๋๋ค.
- words.index(word) + 1:
- ์ ๋ ฅ ๋จ์ด์ ์์น๋ฅผ ์ฐพ์ 1์ ๋ํด ๋ฐํํฉ๋๋ค.
๐ป ๋ด ์ฝ๋
# A,E,I,O,U
# word๊ฐ A๋ 1๋ฒ์งธ, AA 2๋ฒ์จฐ, AAA 3๋ฒ์จฐ... ๋ฑ ๋ชจ๋ ๊ฐ๋ฅํ ์กฐํฉ ๋ง๋ค๊ธฐ
# ๊ธธ์ด 5 ๋ฌธ์์ด์์ ๋ช ๋ฒ์จฐ์ธ์ง ์์๊ตฌํ๊ธฐ
from itertools import product
def solution(word):
wordlist = ['A','E','I','O','U']
words =[]
# ์ด 5๊ฐ ๊ธธ์ด ์ ๋ ฌ๋ words ๋ชจ์
for i in range(1,6):
for j in product(wordlist, repeat = i):
words.append("".join(j))
words.sort()
return words.index(word) + 1
๐ป ๋ต์
//
๐ ์ฐธ๊ณ ์๋ฃ
โบ๏ธ ์๋ก ์๊ฒ ๋ ์ง์
1. join์ฌ์ฉ๋ฒ
'๊ตฌ๋ถ์'.join(๋ฆฌ์คํธ)
:
๋งค๊ฐ๋ณ์๋ก ๋ค์ด์จ ๋ฆฌ์คํธ์ ์๋ ์์ ํ๋ํ๋๋ฅผ ํฉ์ณ์ ํ๋์ ๋ฌธ์์ด๋ก ๋ฐ๊พธ์ด ๋ฐํํ๋ ํจ์์ ๋๋ค.
- ''.join(๋ฆฌ์คํธ)
''.join(๋ฆฌ์คํธ)๋ฅผ ์ด์ฉํ๋ฉด ๋งค๊ฐ๋ณ์๋ก ๋ค์ด์จ ['a', 'b', 'c'] ์ด๋ฐ ์์ ๋ฆฌ์คํธ๋ฅผ 'abc'์ ๋ฌธ์์ด๋ก ํฉ์ณ์ ๋ฐํํด์ฃผ๋ ํจ์์ธ ๊ฒ์
๋๋ค.
- '๊ตฌ๋ถ์'.join(๋ฆฌ์คํธ)
'๊ตฌ๋ถ์'.join(๋ฆฌ์คํธ)๋ฅผ ์ด์ฉํ๋ฉด ๋ฆฌ์คํธ์ ๊ฐ๊ณผ ๊ฐ ์ฌ์ด์ '๊ตฌ๋ถ์'์ ๋ค์ด์จ ๊ตฌ๋ถ์๋ฅผ ๋ฃ์ด์ ํ๋์ ๋ฌธ์์ด๋ก ํฉ์ณ์ค๋๋ค.
'_'.join(['a', 'b', 'c']) ๋ผ ํ๋ฉด "a_b_c" ์ ๊ฐ์ ํํ๋ก ๋ฌธ์์ด์ ๋ง๋ค์ด์ ๋ฐํํด ์ค๋๋ค.
2. itertools ์ฌ์ฉ๋ฒ
from itertools import product
์ค๋ณตํฌํจํ ๋ชจ๋ ์กฐํฉ ์์ฑ
BUT, ์๊ฐ์ด๊ณผ๋ก ์ ๋ต์ด ์๋ ์๋ ์๋ค
3. index์ฌ์ฉ๋ฒ
my_list = [10, 20, 30, 40, 30]
# ์ฒซ ๋ฒ์งธ 30์ ์ธ๋ฑ์ค ์ฐพ๊ธฐ
print(my_list.index(30)) # ์ถ๋ ฅ: 2
# ๋ฒ์๋ฅผ ์ ํํด์ ๊ฒ์
print(my_list.index(30, 3)) # ์ถ๋ ฅ: 4 (3๋ฒ ์ธ๋ฑ์ค ์ดํ ๊ฒ์)
my_string = "Hello, world!"
# "o"์ ์ฒซ ๋ฒ์งธ ์ธ๋ฑ์ค ์ฐพ๊ธฐ
print(my_string.index("o")) # ์ถ๋ ฅ: 4
# "world"์ ์ธ๋ฑ์ค ์ฐพ๊ธฐ
print(my_string.index("world")) # ์ถ๋ ฅ: 7
# ๊ฒ์ ๋ฒ์ ์ ํ
print(my_string.index("o", 5)) # ์ถ๋ ฅ: 8 (5๋ฒ ์ธ๋ฑ์ค ์ดํ ๊ฒ์)
๐ ๋ฆฌ๋ทฐ
'Algorithm > Implement' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
20291๋ฒ/ ํ์ผ์ ๋ฆฌ/ ๋์ ๋๋ฆฌ (0) | 2025.01.05 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค/ ๋ฌธ์์ด ์์ถ (๋ค์) (0) | 2024.12.28 |
7568๋ฒ / ๋ฉ์น (0) | 2024.12.28 |
20546๋ฒ / ๊ธฐ์ ์ ๋งค๋งค๋ฒ (1) | 2024.12.27 |
๊ตฌํ/ 21918๋ฒ/ ์ ๊ตฌ (0) | 2024.12.25 |