https://school.programmers.co.kr/learn/courses/30/lessons/84512
나의 풀이
.
word의 길이와 각 알파벳의 인덱스 값을 이용해 결과를 찾아낼 수 있을 것이라고 생각하였으나 어려움이 있었다.
모범 답안
중복 순열 이용
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함수로 정렬을 하면 되는 문제였다.
출처: https://alreadyusedadress.tistory.com/297 [ :티스토리]
등비수열의 합을 이용
def solution(word):
answer = 0
for i, n in enumerate(word):
answer += (5 ** (5 - i) - 1) / (5 - 1) * "AEIOU".index(n) + 1
return answer
'코딩테스트 > programmers (python)' 카테고리의 다른 글
Programmers / 2단계 / [1차] 뉴스 클러스터링 / python / 2018 KAKAO BLIND RECRUITMENT (1) | 2024.02.17 |
---|---|
Programmers / 2단계 / 튜플 / python / 2019 카카오 개발자 겨울 인턴십 (0) | 2024.02.16 |
Programmers / 2단계 / 타겟 넘버 / python (0) | 2024.02.13 |
Programmers / 2단계 / 캐시 / python (0) | 2024.02.13 |
Programmers / 2단계 / 의상 / python (0) | 2024.02.09 |