문제
https://school.programmers.co.kr/learn/courses/30/lessons/84512
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
from itertools import product
def solution(word):
answer = 0
char = ['A','E','I','O','U']
tmp = []
for i in range(1,6):
for j in product(char, repeat = i):
tmp.append(''.join(j))
tmp.sort()
return tmp.index(word)+1
다른 풀이
def solution(word):
answer = 0
dic = ['A', 'E', 'I', 'O', 'U']
li = [5**i for i in range(len(dic))]
for i in range(len(word)-1,-1,-1):
idx = dic.index(word[i])
for j in range(5-i):
answer += li[j]*idx
answer+=1
return answer
설명
와 어떻게 보자마자 다들 중복순열 이라는걸 알았을까?? 코딩의 세계는 너무 어렵다...
'Coding Test > Python' 카테고리의 다른 글
| [프로그래머스] 네트워크 (lv.3) (0) | 2023.08.11 |
|---|---|
| [프로그래머스] 타겟 넘버 (lv.2) (0) | 2023.08.10 |
| [프로그래머스] 전력망을 둘로 나누기 (lv2) (0) | 2023.08.05 |
| [프로그래머스] 피로도 (0) | 2023.08.05 |
| [프로그래머스] 소수찾기 (0) | 2023.08.03 |