반응형

문제 출처
문제 출처 : https://school.programmers.co.kr/learn/courses/30/lessons/120834
문제 설명
우주여행을 하던 머쓱이는 엔진 고장으로 PROGRAMMERS-962 행성에 불시착하게 되었습니다. 이 행성에서는 나이를 알파벳으로 표현하는 독특한 방식이 존재합니다. 즉, 0은 'a', 1은 'b', 2는 'c', ..., 9는 'j'로 변환됩니다.
예를 들어, 23살은 "cd", 51살은 "fb"로 표현됩니다.
주어진 나이(age)를 PROGRAMMERS-962 방식으로 변환하는 함수를 작성하세요.
해결 방법
- 문자열 변환
- 주어진 나이(age)를 문자열로 변환하여 각 자리 숫자를 추출합니다.
- 알파벳 변환
- 각 숫자를 'a'부터 시작하는 문자로 변환해야 하므로, ASCII 코드를 활용합니다.
- ord('a')를 기준으로 해당 숫자를 더하여 변환된 문자를 얻습니다.
- 결과 문자열 조합
- 변환된 문자를 하나의 문자열로 조합하여 최종 결과를 반환합니다.
코드 구현
def solution(age):
result = ""
for digit in str(age):
result += chr(ord('a') + int(digit))
return result
# 테스트 코드
print(solution(23)) # "cd"
print(solution(51)) # "fb"
print(solution(100)) # "baa"
코드 분석
- str(age)를 사용하여 age를 문자열로 변환합니다.
- 각 자리 숫자를 반복문으로 순회하면서 변환합니다.
- chr(ord('a') + int(digit))를 사용하여 각 숫자를 알파벳으로 변환합니다.
- 변환된 문자들을 하나의 문자열로 합쳐 반환합니다.
예제 테스트
입력출력
23 | "cd" |
51 | "fb" |
100 | "baa" |
마무리
이 문제는 문자열 변환과 ASCII 코드 활용에 대한 개념을 복습하기 좋은 문제입니다. 각 자리 숫자를 문자로 변환하는 방식만 이해하면 쉽게 해결할 수 있습니다.
반응형
'IT > CodingTest' 카테고리의 다른 글
[programmers] 'OX퀴즈' 문제를 가장 간단하게 푸는 방법 (0) | 2025.03.27 |
---|---|
[programmers] '영어가 싫어요' 문제 해설 및 정답코드 (0) | 2025.03.25 |
[programmers] '삼각형의 완성조건(2)' 문제 해설 및 정답코드 (0) | 2025.03.25 |
[programmers] '공 던지기' 문제 해설 및 정답코드 (0) | 2025.03.20 |
[programmers] '2차원으로 만들기' 문제해설 (0) | 2025.03.18 |
[programmers] '주사위의 개수' 문제해설 (0) | 2025.03.17 |
[programmers] '가위 바위 보' 문제를 푸는 여러 가지 방법 (0) | 2025.02.25 |
[programmers] '최빈값 구하기' 문제 쉽게 풀어보기 (0) | 2025.02.22 |
댓글