유블로그

[프로그래머스] 124의 나라의 숫자 본문

알고리즘

[프로그래머스] 124의 나라의 숫자

yujeong kang 2021. 1. 10. 14:45

프로그래머스 level2 124의 나라의 숫자

 

너무 안 풀려서 답을 봤다..ㅠ

 

3진법으로 생각하다가 내가 놓친 부분은.. 3으로 나누어 떨어질 때 n-1 해줘야하는것...

3진법으로 3은 10 인데 124나라는 4 라서 자리수 하나를 빼줘야 맞다

사실 완벽히 이해하진 못했다 ㅎ

계속 생각해봐야 할 듯

 

String 이어붙이니까 시간초과나서 StringBuilder로 바꿨다.

 

 

코드

class Solution {
    public String solution(int n) {
    	StringBuilder answer = new StringBuilder();
    	int r = 0;
    	while(true) {
    		if(n == 0) break;
    		
    		r = n % 3;
    		if(n % 3 == 0) r = 4;
    		
    		answer.insert(0, r);
    		
    		if(n%3 == 0) n--;
			n /= 3;
    	}
        return answer.toString();
    }
}

 

 

시간초과 코드

class Solution {
    public String solution(int n) {
    	String answer = "";
    	int r = 0;
    	while(true) {
    		if(n == 0) break;
    		
    		r = n % 3;
    		if(n % 3 == 0) r = 4;
    		
    		answer = r + answer;
    		
    		if(n%3 == 0) n--;
			n /= 3;
    	}
        return answer;
    }
}