728x90
*문제 출처는 프로그래머스에 있습니다.
문제 제목: 모음 사전 (2단계)
문제 사이트: https://programmers.co.kr/learn/courses/30/lessons/84512
나의 풀이
from itertools import product
def solution(word):
words = []
for i in range(1, 6):
for c in product(['A', 'E', 'I', 'O', 'U'], repeat=i):
words.append(''.join(list(c)))
words.sort()
return words.index(word) + 1
처음에는 복잡하게 생각해서 sort를 안하고 문제를 풀었었다... 그래서 문제를 빙 돌아가면서 풀었는데 이게 맞았다!
다른답안 (규칙 이용)
등비수열의 합을 이용한 풀이다.
def solution(word):
answer = 0
for i, n in enumerate(word):
answer += (5 ** (5 - i) - 1) / (5 - 1) * "AEIOU".index(n) + 1
return answer
※ 알아야 할 것
- product , 중복 순열을 이용해서 가능한 모든 조합을 만들고 sort함수로 정렬해줌
728x90
'coding test - python > Programmers' 카테고리의 다른 글
Programmers / 다음 큰 숫자 / Python 파이썬 (0) | 2022.06.27 |
---|---|
Programmers / 줄 서는 방법 / Python 파이썬 (0) | 2022.06.26 |
Programmers / 짝지어 제거하기 / Python 파이썬 (0) | 2022.05.25 |
Programmers / 구명보트 / Python 파이썬 (0) | 2022.05.25 |
Programmers / 프린터 / Python 파이썬 - 작성중 (0) | 2022.05.20 |