내 코드
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을 사용할 필요도 없어졌다. 속도도 향상되었다!!
'코딩테스트 > Python' 카테고리의 다른 글
[프로그래머스] 예산 (0) | 2021.09.06 |
---|---|
[프로그래머스] [카카오 인턴] 키패드 누르기 (0) | 2021.09.06 |
[프로그래머스] 위클리 챌린지 6주차 복서 정렬하기 (0) | 2021.09.06 |
[프로그래머스] [1차]비밀지도 (0) | 2021.09.06 |
[프로그래머스] 위클리 챌린지 4주차 직업군 추천하기 (0) | 2021.09.06 |