[JAVA] 2023_0415 msg

박희현·2023년 4월 14일
0

MSG 코딩테스트

목록 보기
12/32

4/14


문제 설명

매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.


풀이

class Solution {
    public int solution(int n) {
        int answer = 0;
        String str=Integer.toString(n, 3); //10진수 'n'을 3진수으로
        StringBuffer s = new StringBuffer(str);
        str=s.reverse().toString(); 
        //'s'타입이 StringBuffer이므로 toString()으로 다시 String 타입으로 변환
        answer=Integer.parseInt(str, 3);
        //3진수 'str'을 10진수로
        return answer;
    }
}

1) Integer.toString( )함수로 n을 3진법으로 바꿔 str에 넣는다
2) StringBuffer객체로 str을 변할 수 있는 문자열로 바꿔 s변수에 넣는다
3) str값을 가지고 있는 s를 reverse( )함수로 순서를 뒤집는다
4) Integer.parseInt( )함수로 str, 3진법을 10진법으로 바꿔 answer에 넣는다

profile
희현's velog

0개의 댓글