Hi, There!
안녕하세요, 바오밥입니다.
목차
- 문제
- 풀이
문제
문제 내용
어떤 단어가 XX 사전의 몇 번째 단어인지 알고 싶습니다.
XX 사전에는 대문자 알파벳 'A', 'E', 'I', 'O', 'U'를 사용해 만들 수 있는 길이가 5 이하인 모든 단어가 수록되어 있습니다.
예를 들어, 사전의 첫 번째 단어는 "A"이고, 그다음은 "AA"입니다.
마지막 단어는 "UUUUU"입니다.
문자열 word가 매개변수로 주어질 때, word가 사전의 몇 번째 단어인지 return 하도록 solution 함수를 작성했습니다.
그러나, 일부 코드가 잘못되어 코드가 바르게 동작하지 않습니다.
주어진 코드가 모든 입력을 바르게 처리하도록 코드를 수정해주세요. 코드는 _한 줄_만 수정해야 합니다.
매개변수 설명
문자열 word가 solution 함수의 매개변수로 주어집니다.
- word는 'A', 'E', 'I', 'O', 'U'로만 구성됩니다.
- word의 길이는 5 이하입니다.
return 값 설명
사전에서 word가 몇 번째 단어인지 return 해주세요.
예시
예시 설명
사전엔 단어가 다음과 같이 수록됩니다.
"A", "AA", "AAA", "AAAA", "AAAAA", "AAAAE", "AAAAI", "AAAAO", "AAAAU", "AAAE", ...
예시 #1
"AAAAE"는 여섯 번째에 나옵니다.
예시 #2
“AAAE”는 열 번째에 나옵니다.
풀이
풀이 코드 및 해설
def create_words(lev, s):
global words # 전역 변수 선언
VOWELS = ['A', 'E', 'I', 'O', 'U'] # 단어를 만드는 문자 리스트
words.append(s) #
for i in range(0, 5): # AEIOU로 만들 수 있는 모든 단어의 조합 만들기
if lev < 5:
create_words(lev+1, s + VOWELS[i])
def solution(word):
global words # 전역 변수 선언
words = []
answer = 0
create_words(0, '') #
for idx, i in enumerate(words): # idx, i로 매핑하여 words 리스트 순회
if word == i: # 단어와 words를 순회하는 i가 동일한 경우
answer = idx # i의 위치, idx를 저장
break
return answer
'Certificate > Cert - Cos Pro 1급' 카테고리의 다른 글
[Cos Pro 1급] 기출문제 4회차, 스키장 최소 비용 구하기 (0) | 2021.07.16 |
---|---|
[Cos Pro 1급] 기출문제 4회차, 문자열 압축 (0) | 2021.07.16 |
[Cos Pro 1급] 기출문제 3회차, 밥 먹고 머리 자르고 (0) | 2021.07.15 |
[Cos Pro 1급] 기출문제 3회차, 팝업 스토어를 열 최적의 날짜 (0) | 2021.07.15 |
[Cos Pro 1급] 기출문제 3회차, 선풍기를 몇대 사야 하나요 (0) | 2021.07.15 |