문제

  • 링크
    title: "코딩테스트 연습 - 124 나라의 숫자"
    image: "https://image.freepik.com/free-vector/landing-page-template-for-a-website_23-2147782747.jpg"
    description: "124 나라가 있습니다. 124 나라에서는 10진법이 아닌 다음과 같은 자신들만의 규칙으로 수를 표현합니다."
    url: "https://school.programmers.co.kr/learn/courses/30/lessons/12899"
    

문제 풀이

문제 접근

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

  • 3진법인데, 숫자만 1, 2, 4이다.
  • 10진법 숫자를 3으로 나눠, 나머지를 정리하고
    • 그것을 124 나라만의 숫자로 변경한다.

      간단한 수도 코드 정리

      Type/Paste Your Code
      

풀이 코드

import java.util.*;

class Solution {
    public String solution(int n) {
        StringBuilder answer = new StringBuilder();
        String[] digits = {"4", "1", "2"};
        
        while (n > 0) {
            int remainder = n % 3;
            n = (n - 1) / 3;
            
            answer.insert(0, digits[remainder]);
        }
        
        return answer.toString();
    }
}