1 ] 문제
어떤 단어가 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 해주세요.
2 ] 해답
def create_words(lev, s):
global words
VOWELS = ['A', 'E', 'I', 'O', 'U']
words.append(s)
for i in range(0, 5):
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):
if word == i:
answer = idx
break
return answer
# 아래는 테스트케이스 출력을 해보기 위한 코드입니다. 아래에는 잘못된 부분이 없으니, 위의 코드만 수정하세요.
word1 = "AAAAE"
ret1 = solution(word1)
# [실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
print("solution 함수의 반환 값은 ", ret1, " 입니다.")
word2 = "AAAE"
ret2 = solution(word2)
# [실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
print("solution 함수의 반환 값은 ", ret2, " 입니다.")
- 헷갈렸던 부분 create_word 함수 예제
def create_words(lev, s):
global words
VOWELS = ['A', 'E', 'I']
words.append(s)
for i in range(0, 3):
if lev < 2:
create_words(lev+1, s + VOWELS[i])
print(words)
create_words(0,'')
create_words함수에 lev = 0, s=''대입
range는 (0,3)까지로 vowels[0],vowels[1],vowels[2] 각각 'A','E','I'를 사용
lev 2미만 -> crerate_words함수에 lev = lev+1, s = s+VOWELS[i] 대입하여 계산
['', 'A', 'AA']
['', 'A', 'AA', 'AE']
['', 'A', 'AA', 'AE', 'AI']
['', 'A', 'AA', 'AE', 'AI']
['', 'A', 'AA', 'AE', 'AI', 'E', 'EA']
['', 'A', 'AA', 'AE', 'AI', 'E', 'EA', 'EE']
['', 'A', 'AA', 'AE', 'AI', 'E', 'EA', 'EE', 'EI']
'파이썬 Phyton' 카테고리의 다른 글
[파이썬 코딩] Cos Pro 1급 4차 문제5 - 규칙에 맞는 숫자 생성 (deque, 리스트를 문자로 변환 ) (0) | 2023.07.17 |
---|---|
[파이썬 코딩] collections모듈 _ deque (데크) _ appendleft, rotate, reversed, extend, maxlen (0) | 2023.07.17 |
[파이썬 코딩] Cos Pro 1급 3차 문제1 - 배열을 회전시켜보세요 (0) | 2023.07.17 |
[파이썬 코딩] Cos Pro 1급 1차 문제5 - 소용돌이 수 (0) | 2023.07.16 |
[파이썬 코딩] 메서드 , def 키워드 란? (1) | 2023.07.16 |