🗂️ 문제
링크: https://school.programmers.co.kr/learn/courses/30/lessons/84512
💡 접근법
alpha라는 리스트에 알파벳 모음인 A, E, I, O, U를 저장해두고 product를 통해 alpha에 대한 중복 순열을 생성한다.
생성한 중복 순열을 정렬하고 word에 해당하는 인덱스를 뽑아내면 된다.
😎 내 코드
from itertools import product
def solution(word):
answer = 0
alpha = ['A', 'E', "I", "O", "U"]
dic = []
for i in range(1, len(alpha)+1):
for per in product(alpha, repeat=i):
dic.append(''.join(per))
dic.sort()
answer = dic.index(word) + 1
return answer
🧐 배운 점
- 중복순열: product(arr, repeat=i)
반복 가능한 객체 arr에 대해 중복을 허용하고 repeat에 할당한 수만큼 추출한다.
'Algorithm > Programmers' 카테고리의 다른 글
[해시] 프로그래머스 Lv1. 폰켓몬 - Python (0) | 2024.04.04 |
---|---|
[그리디] 프로그래머스 Lv2. 구명보트 - Python (1) | 2024.03.26 |
[완전탐색] 프로그래머스 Lv2. 피로도 - Python (0) | 2024.03.24 |
[완전탐색] 프로그래머스 Lv2. 소수 찾기 - Python (0) | 2024.03.21 |
[완전탐색] 프로그래머스 Lv2. 카펫 - Python (0) | 2024.03.21 |