알고리즘/프로그래머스 Level1

[프로그래머스,자바] Level1 : 3진법 뒤집기

류창 2021. 8. 10. 21:44
반응형

문제분석:

일정한 숫자 n을 3진법을한뒤 앞뒤 바꾸고, 다시 10진법으로 바꾸는문제다.

 

문제풀이:

 

기본적으로 n진법을 만드는 테크닉을 알고있으면 편하다. 

while문을 사용해 n진법을 만들고, 나오는 숫자들을 앞에서부터 채운다

이 과정에서 앞뒤반전은 생략할수가있다.

 

3진법 ->10진법으로 변환하기위해 3^i 만큼 더해준다.

 

그리고 answer리턴

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Solution {
    public int solution(int n) {
        int answer = 0;
        String temp="";
        while(n!=0){
            temp=n%3+temp; 
            n/=3;
        }
        String[] st =temp.split("");
        for(int i=0;i<st.length;i++){
            answer+=Math.pow(3,i)*Integer.parseInt(st[i]);
        }
        return answer;
    }
}
cs

 

반응형