목차
문제 설명
우주여행을 하던 머쓱이는 엔진 고장으로 PROGRAMMERS-962 행성에 불시착하게 됐습니다. 입국심사에서 나이를 말해야 하는데, PROGRAMMERS-962 행성에서는 나이를 알파벳으로 말하고 있습니다. a는 0, b는 1, c는 2, ..., j는 9입니다. 예를 들어 23살은 cd, 51살은 fb로 표현합니다. 나이 age가 매개변수로 주어질 때 PROGRAMMER-962식 나이를 return하도록 solution 함수를 완성해주세요.
제한사항
- age는 자연수입니다.
- age ≤ 1,000
- PROGRAMMERS-962 행성은 알파벳 소문자만 사용합니다.
class Solution {
public String solution(int age) {
// 나이를 문자열로 변환
String ageStr = String.valueOf(age);
StringBuilder result = new StringBuilder();
// 각 자리 숫자를 문자로 변환
for (int i = 0; i < ageStr.length(); i++) {
char digit = ageStr.charAt(i); // 숫자 문자
char convertedChar = (char) ('a' + (digit - '0')); // 'a'부터 시작하는 문자로 변환
result.append(convertedChar); // 변환된 문자 추가
}
return result.toString(); // 변환된 문자열 반환
}
}
코드 설명
- String.valueOf(age)
- age를 문자열로 변환하여 각 자리 숫자에 접근할 수 있도록 한다.
- 각 자리 숫자 -> 문자 변환
- digit - '0'을 통해 문자형 숫자를 정수형 숫자로 변환한다.
- 변환된 숫자를 'a'에 더해 알파벳으로 변환한다. 예를 들어:
- '0' → 0 → 'a'
- '1' → 1 → 'b'
- '9' → 9 → 'j'
- StringBuilder
- 각 변환된 문자를 하나씩 추가하여 최종 문자열을 생성.
- 최종 결과 반환
- 생성된 문자열을 반환한다.
'JAVA > 프로그래머스 코딩테스트 입문' 카테고리의 다른 글
[프로그래머스 LV.0] 중복된 문자 제거 (1) | 2024.12.10 |
---|---|
[프로그래머스 LV.0] 2차원으로 만들기 (1) | 2024.12.02 |
[프로그래머스 LV.0] 합성수 찾기 (0) | 2024.12.02 |
[프로그래머스 LV.0] 문자열 정렬하기 (2) (1) | 2024.12.02 |
[프로그래머스 LV.0] 문자열 정렬하기 (1) (0) | 2024.11.27 |