プログラマー1289124国/地域の数字


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


問題の説明


1,2,4だけが数字を表す124の国です.
124の国は表のように奇妙なルールで数字を表現している.
じっしん
124カ国
1
1
2
2
3
4
4
11
5
12
6
14
7
21
8
22
9
24
10
41
124カ国の数字ルールは以下の通りです.

  • 十進法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