반응형
`외계행성의 나이 `
문제 설명
우주여행을 하던 머쓱이는 엔진 고장으로 PROGRAMMERS-962 행성에 불시착하게 됐습니다.
입국심사에서 나이를 말해야 하는데,
PROGRAMMERS-962 행성에서는 나이를 알파벳으로 말하고 있습니다.
a는 0, b는 1, c는 2,..., j는 9입니다.
예를 들어 23살은 cd, 51살은 fb로 표현합니다.
나이 age가 매개변수로 주어질 때 PROGRAMMER-962식 나이를 return 하도록 solution 함수를 완성해 주세요.
입출력 예 #1
- age가 23이므로 "cd"를 return합니다.
입출력 예 #2
- age가 51이므로 "fb"를 return합니다.
입출력 예 #3
- age가 100이므로 "baa"를 return합니다.
java code
import java.util.stream.Stream;
class Solution {
public String solution(int age) {
String answer = "";
char[] alpa = {'a','b','c','d','e','f','g','h','i','j'};
String ages = Integer.toString(age);
int[] digits = Stream.of(ages.split("")).mapToInt(Integer :: parseInt).toArray();
for (int i = 0; i < digits.length; i++) {
answer += alpa[digits[i]];
}
return answer;
}
}
먼저, char[] alpa 배열에 알파벳을 저장합니다. 그리고 입력된 나이를 Integer.toString(age) 메소드를 사용하여 문자열로 변환한 후, Stream.of(ages.split("")) 코드를 사용하여 문자열을 한 자리씩 나눈 후, mapToInt(Integer::parseInt) 코드를 사용하여 각 자리의 문자를 정수로 변환하여 digits 배열에 저장합니다.
그런 다음 for 루프를 사용하여 digits 배열을 순회하면서 각 자리수에 해당하는 알파벳을 answer 문자열에 추가합니다. 이 때, alpa[digits[i]]를 사용하여 digits 배열의 i번째 자리의 값에 해당하는 알파벳을 찾아 추가합니다.
예를 들어, solution(25)를 호출하면, digits 배열은 [2, 5]가 되며, for 루프에서 alpa[digits[i]]를 사용하여 b와 f 문자를 answer 문자열에 추가하여 "bf"를 반환합니다.
python code
def solution(age):
alpa = ['a','b','c','d','e','f','g','h','i','j']
answer = ""
for i in str(age):
answer += alpa[int(i)]
return answer
반응형
'algorithm' 카테고리의 다른 글
[프로그래머스]3 6 9 게임 (0) | 2023.03.09 |
---|---|
[프로그래머스]약수 구하기 -java,python (0) | 2023.03.09 |
[프로그래머스]배열 회전시키기 - java, python (0) | 2023.03.09 |
[프로그래머스]가장 큰 수 찾기 - java,python (0) | 2023.03.08 |
[프로그래머스]인덱스 바꾸기 - java,python (0) | 2023.03.08 |
댓글