프로그래머스_12899_124나라의 숫자

0
post-custom-banner

https://programmers.co.kr/learn/courses/30/lessons/12899


문제 설명

오직 1, 2, 4 로만 숫자를 표현하는 124나라가 있다.
124나라는 표와 같이 이상한 규칙으로 숫자를 표현한다.

10진법 124나라
1 1
2 2
3 4
4 11
5 12
6 14
7 21
8 22
9 24
10 41

124나라의 숫자 규칙은 다음과 같다.

  • 10진수 n3으로 나눈 나머지에 따라 1, 2, 4로 변환된다.

    나머지 124 나라
    0 4
    1 1
    2 2

  • 나눈 후 이 3의 배수라면 몫 - 1 에서 3을 나눈다.



전체 코드

package programmers_12899_numberOf124Contry;
/*
 * 
 * 프로그래머스
 * 12899. 124나라의 숫자
 * https://programmers.co.kr/learn/courses/30/lessons/12899
 * 2021-05-11
 * 
 * */
class Solution {
    public String solution(int n) {
        String answer = "";
        // n % 3 연산을 하며 나머지(0,1,2)에 따라 차례대로 4,1,2 부여
        // 3의 배수일 경우, 몫에서 -1을 함
        
        String[] temp = {"4", "1", "2"};
        
        while(n > 0) {
        	int remainder = n % 3;
        	n /= 3;
        	
        	if(remainder == 0) { //나누는 숫자가 3의 배수라면
        		n -= 1;
        	}
        	
        	answer = temp[remainder] + answer;
        }
        
        return answer;
    }
}


문제 풀이

이 문제는 한 번에 찾아내기 어려운 규칙과
효율성까지 검사하고 있기 때문에 처음 파악하기엔 조금 까다롭지만, 규칙만 파악하고 나면 어렵지 않은 문제이다.



Git gist 주소

https://gist.github.com/ysyS2ysy/de023b24f2510e723a3e4e015069b437

profile
비둘기보다 겁이 많은 사람이다.
post-custom-banner

0개의 댓글