우주여행을 하던 머쓱이는 엔진 고장으로 PROGRAMMERS-962 행성에 불시착하게 됐습니다. 입국심사에서 나이를 말해야 하는데, PROGRAMMERS-962 행성에서는 나이를 알파벳으로 말하고 있습니다. a는 0, b는 1, c는 2, ..., j는 9입니다. 예를 들어 23살은 cd, 51살은 fb로 표현합니다. 나이 age가 매개변수로 주어질 때 PROGRAMMER-962식 나이를 return하도록 solution 함수를 완성해주세요.
a부터 j까지 였지만 z까지의 나올수 있는 문제를 고려해서 풀어봤습니다
1. a 부터 z까지의 범위를 만들어 변수에 저장하기
2. enumerate함수를 사용해서 a 부터 z 까지 0~부터 숫자를 만들기
3. age 매개변수와 a~z의 숫자와 일치하는 a~z를 출력하기
def solution(age):
def alphabets(): # a부터 z까지의 소문자를 생성하는 함수.
for i in range(ord('a'), ord('z')+1): # ord()함수를 사용해서 아스키 코드로 변환한 문자 a부터 z까지의 범위를
yield chr(i) # chr() 함수를 사용하여 ord() 함수의 반환값을 해당하는 문자로 변환하고, 그 문자를 생성기 객체에 반환
result = "" # result 변수는 최종 출력 결과를 문자열로 저장
for digit in str(age): # age 변수를 문자열로 변환하고, 그 문자열의 각 문자를 반복합니다.
num = int(digit) # 이 줄은 digit 문자를 정수로 변환
for idx, char in enumerate(alphabets()): # alphabets() 함수에서 생성한 문자열을 반복
if num == idx: # num이 idx와 같은지 확인
result += char # num이 idx와 같은 경우 result 변수에 char 문자를 추가
return result