코딩테스트/Python
[프로그래머스] 위클리 챌린지 5주차 모음 사전
yo~og
2021. 9. 6. 15:43
내 코드
def solution(word):
import itertools
l = ['A','E','I','O','U']*5
p=[]
for i in range(1,6):
p += ["".join(i) for i in itertools.permutations(l,i)]
p = sorted(set(p))
return p.index(word)+1
만들수있는 문자들을 다 만든 후 word를 찾았다. 시간이 너무느렸다ㅠ
다른사람 코드를 보니 product라는 것이 있었다. 이걸 몰라서.. l에 *5를하고 풀었다ㅠ 내 코드에 product를 적용하면 이렇게 된다.
def solution(word):
import itertools
l = ['A','E','I','O','U']
p=[]
for i in range(1,6):
p += ["".join(i) for i in itertools.product(l,repeat=i)]
p = sorted(p)
return p.index(word)+1
set을 사용할 필요도 없어졌다. 속도도 향상되었다!!