728x90
반응형
[프로그래머스] 코딩테스트 연습 -> 코딩테스트 입문 -> 외계행성의 나이
https://school.programmers.co.kr/learn/courses/30/lessons/120834
해결 과정
이 문제는 먼저 StringBuilder를 이용하여 풀어보려 한다.
먼저 age 각 자리의 수를 해당 알파벳으로 변환하기 위하여
1의 자리수부터 가져오기로 한다.
int k를 age를 10으로 나눈 나머지수로 선언 을 해준다
만약, 23의 경우 23%10 = 3이 된다
이 3을 char형으로 변환해 주어야 한다
만약 k가 0일 경우 -> k+'a' 는 그대로 a로 나타낼수 있다
k가 1일 경우 -> 1+'a'이므로 b로 나타낼 수 있다.
이렇게 char형으로 변환한 값을 StringBuilder sb에 insert해준다
여기서 주의할 점은 0번째 인덱스에 삽입하는 것을 반복함으로써 원래 숫자의 순서대로 나열될 수 있도록 한다
그리고 다시 반복하기 전 age/=10을통해 자릿수를 바꿔줘야 한다
마지막으로 sb.toString()을 통해 StringBuilder에 있는 내용을 문자열로 return 해주면 된다.
소스 코드
class Solution {
public String solution(int age) {
StringBuilder sb = new StringBuilder();
while (age>0) {
int k = age%10;
char c = (char)(k+'a');
sb.insert(0,c);
age /= 10;
}
return sb.toString();
}
}
728x90
반응형
'JAVA > Programmers' 카테고리의 다른 글
JAVA 프로그래머스 [순서쌍의 개수] Lv.0 (0) | 2023.05.29 |
---|---|
JAVA 프로그래머스 [배열 자르기] 자바 Lv.0 (0) | 2023.05.29 |
JAVA 프로그래머스 [진료순서 정하기] 자바 Lv.0 (0) | 2023.05.29 |
JAVA 프로그래머스 [짝수의 합] 자바 Lv.0 (0) | 2023.05.28 |
JAVA 프로그래머스 [양꼬치] 자바 Lv.0 (0) | 2023.05.28 |
댓글