[알고리즘문제풀기] 외계행성의 나이

silver's avatar
Dec 30, 2024
[알고리즘문제풀기] 외계행성의 나이

문제

내가 작성한 정답

class Solution { public String solution(int age) { String answer = ""; String age1 = String.valueOf(age); for(char a : age1.toCharArray()){ switch (a) { case '0': answer+='a'; break; case '1': answer+='b'; break; case '2': answer+='c'; break; case '3': answer+='d'; break; case '4': answer+='e'; break; case '5': answer+='f'; break; case '6': answer+='g'; break; case '7': answer+='h'; break; case '8': answer+='i'; break; case '9': answer+='j'; break; } } return answer; } }

다른 사람들의 정답

class Solution { public String solution(int age) { StringBuilder sb = new StringBuilder(); while(age > 0) { // age % 10으로 일의 자리수를 가져와서 // (int)'a' : a의 아스키코드 값을 가져와 더해 -> 0이 a니까 1이면 a+1인 b ... // sb의 첫번째 자리에 넣는다. sb.insert(0, (char) ((age % 10) + (int)'a')); // 그 다음 십의 자리수를 구하기 위해 10으로 나눈다.-> 100의 자리수나 그 이상 있을 경우 반복 age /= 10; } return sb.toString(); } }
import java.util.stream.Collectors; class Solution { public String solution(int age) { return String.valueOf(age).chars() //IntStream //각 숫자에 대해 문자 변환을 수행 // 0 - 아스키코드'48' // a - 아스키코드'97' 두 개의 차 : 49 .mapToObj(operand -> String.valueOf((char) (49 + operand))) .collect(Collectors.joining()); } }
Share article

silver