[PG] 모음 사전

nerry·2022년 6월 13일
0

문제

me

def solution(word):
    answer = 0
    dict_ = {
        'A':0,
        'E':1,
        'I':2,
        'O':3,
        'U':4
    }
    gap = [3905//5,3905//25,3905//125,3905//625,3905//3125]
    for i,w in enumerate(word):
        if w=='A':
            answer+=1
        else :
            answer+=dict_[w]*gap[i]+1
    return answer
  • 참고
  • 각 자리의 자릿수를 생각
  • 전체 수는 5+25+125+625+3125 = 3905.

    12: 2+4
    1 11 12
    2 21 22
    123: 3+9+27
    1 11 111 112 113 12 121 122 123 13 131 132 133
    2 21 211 212 213 22 221 222 223 23 231 232 233
    3 31 311 312 313 32 321 322 323 33 331 332 333

  • 간격

    문자간의 거리 = 경우의 수 총합 / 문자열 길이의 경우의 수(1=5, 2= 25, 3= 125, 4=625, 5=3125)
    첫 번째 자리 경우 간격 781 (3905 / 5)
    두 번째 자리 경우 간격 156 (3905 / 25)
    세 번째 자리 경우 간격 31 (3905 / 125)
    네 번째 자리 경우 간격 6 (3905 / 625)
    다섯 번째 자리 간격 1 (3905 / 3125)

  • 또 A 0번째, E : 1번째, I: 2번째, O: 3번째, U: 4번째 차례
  • 1부터 시작하니
  • A를 제외하고는 알파벳 순서 * 해당 자리의 간격 + 1(a가 1번부터 시작하므로)
profile
터벅터벅 개발(은좋은)자 로그

0개의 댓글