View
문제설명
우주여행을 하던 머쓱이는 엔진 고장으로 PROGRAMMERS-962 행성에 불시착하게 됐습니다. 입국심사에서 나이를 말해야 하는데, PROGRAMMERS-962 행성에서는 나이를 알파벳으로 말하고 있습니다. a는 0, b는 1, c는 2, ..., j는 9입니다. 예를 들어 23살은 cd, 51살은 fb로 표현합니다. 나이 age가 매개변수로 주어질 때 PROGRAMMER-962식 나이를 return하도록 solution 함수를 완성해주세요.
제한사항
입출력 예ageresult
입출력 예 설명
제한사항
- age는 자연수입니다.
- age ≤ 1,000
- PROGRAMMERS-962 행성은 알파벳 소문자만 사용합니다.
입출력 예ageresult
23 | "cd" |
51 | "fb" |
100 | "baa" |
입출력 예 설명
입출력 예 #1
- age가 23이므로 "cd"를 return합니다.
입출력 예 #2
- age가 51이므로 "fb"를 return합니다.
입출력 예 #3
- age가 100이므로 "baa"를 return합니다.
나의 풀이
def solution(age):
ages = ['a','b','c','d','e','f','g','h','i','j']
return ''.join(ages[int(i)] for i in str(age))
다른 풀이
def solution(age):
return ''.join([chr(int(i)+97) for i in str(age)])
def solution(age):
answer = ''
char_num = {str(i): chr(ord('a') + i) for i in range(26)}
return ''.join([char_num[x] for x in str(age)])
ord() : 한 문자의 아스키코드 값을 정수형으로 반환
print(ord('a'), ord('z')) #97, 122
print(ord('A'), ord('Z')) #65, 90
어쩔수 없다 외우자...! a 는 97 .. A 는 65 .. 알파벳 갯수는 25개.......
chr() : 인자로 받은 정수형을 아스키코드 값으로 받고 해당 코드의 문자를 반환
print(chr(97), chr(0x61)) #a a
print(chr(122),chr(0x7a)) #z z
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
programmers) 인덱스 바꾸기 (0) | 2022.11.08 |
---|---|
programmers) 숫자 찾기 (0) | 2022.11.08 |
programmers) 배열 회전시키기 (0) | 2022.11.07 |
programmers) 주사위의 개수 (0) | 2022.11.07 |
programmers) 문자열 정렬하기 (2) (0) | 2022.11.07 |
reply