honey_pot

[Python] 모음 사전 본문

문제 풀이

[Python] 모음 사전

_tera_ 2022. 6. 27. 14:56

https://programmers.co.kr/learn/courses/30/lessons/84512


풀이 참고 -> https://programmers.co.kr/questions/25140

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
def solution(word):
    # 인덱스가 순서 다섯개의 문자로 한 자리 단어만 만들면 A,E,I,O,U 순서
    vowels = ['A''E''I''O''U'
    p = [5 ** i for i in range(1,6)] # 각 문자길이에 따라 만들 수 있는 문자열 경우의 수 
    max_num = sum(p) # 경우의 수 총합 (사전의 맨 끝 단어)
    answer = 0 # 문자간의 간격을 더하여 리턴할 변수
    
    for idx,char in enumerate(word): # word의 각 문자열과 인덱스마다
        if char == 'A'# 문자열이 A일 경우 사전상 가장 먼저 나올 문자가 A이므로 1만 더함
            answer += 1
        
        # 문자간의 거리 == 사전의 총 길이 / 문자열의 길이에 따라 만들 수 있는 경우의 수
        # 문자열이 E일 경우 vowels 사전상 E는 2번째이므로 문자간의 거리에 순서를 곱함
        # 문자간의 거리를 구하면 word는 거리 +1 의 위치에 있으므로 +1을 해준다.
        elif char == 'E'
            answer += (max_num//p[idx]) * 1 + 1
        elif char == 'I':
            answer += (max_num//p[idx]) * 2 + 1
        elif char == 'O':
            answer += (max_num//p[idx]) * 3 + 1
        elif char == 'U':
            answer += (max_num//p[idx]) * 4 + 1
    return answer
cs

'문제 풀이' 카테고리의 다른 글

[Python] N개의 최소공배수  (0) 2022.06.27
[Python] 배달  (0) 2022.06.27
[python] 교점에 별 만들기  (0) 2022.06.23
[Python] 리트코드 4sum  (0) 2022.05.14
[python] 뉴스 클러스터링  (0) 2021.12.13
Comments