inblog logo
|
silver
    알고리즘문제풀기

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

    silver's avatar
    silver
    Dec 30, 2024
    [알고리즘문제풀기] 외계행성의 나이
    Contents
    문제내가 작성한 정답다른 사람들의 정답

    문제

    school.programmers.co.kr
    https://school.programmers.co.kr/learn/courses/30/lessons/120834

    내가 작성한 정답

    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

    RSS·Powered by Inblog