728x90
문제 설명
사전에 알파벳 모음 'A', 'E', 'I', 'O', 'U'만을 사용하여 만들 수 있는, 길이 5 이하의 모든 단어가 수록되어 있습니다. 사전에서 첫 번째 단어는 "A"이고, 그다음은 "AA"이며, 마지막 단어는 "UUUUU"입니다.
단어 하나 word가 매개변수로 주어질 때, 이 단어가 사전에서 몇 번째 단어인지 return 하도록 solution 함수를 완성해주세요.
제한사항
- word의 길이는 1 이상 5 이하입니다.
- word는 알파벳 대문자 'A', 'E', 'I', 'O', 'U'로만 이루어져 있습니다.
입출력 예
word | result |
"AAAAE" | 6 |
"AAAE" | 10 |
"I" | 1563 |
"EIO" | 1189 |
문제 풀이
✏️ 풀이 코드
from collections import deque
next_chars = {"A": "E", "E": "I", "I": "O", "O": "U", "U": "A"}
def solution(word):
count = 1
chars = deque(["A"])
while word != "".join(chars):
if len(chars) == max_length:
while chars[-1] == "U":
chars.pop()
chars[-1] = next_chars[chars[-1]]
else:
chars.append("A")
count += 1
return count
🔗 문제 출처
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
728x90
'프로그래머스' 카테고리의 다른 글
[프로그래머스/Level2] 롤케이크 자르기 (Python) (1) | 2024.06.21 |
---|---|
[프로그래머스/Level2] 전력망을 둘로 나누기 (Python) (1) | 2024.06.20 |
[프로그래머스/Level2] 피로도 (Python) (2) | 2024.06.19 |
[프로그래머스/Level2] 카펫 (Python) (1) | 2024.06.19 |
[프로그래머스/Level1] 모의고사 (Python) (1) | 2024.06.19 |