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

최대 1 분 소요

문제 링크

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


풀이 과정

1, 2, 4 세 숫자만 사용해서 주어진 10진수 n을 변환하는 문제입니다.

n을 3으로 나누어 그 나머지를 누적시키되, 나머지가 0이라면 몫에서 1만큼을 당겨와 나머지를 4로 써서 문제를 해결할 수 있었습니다.

String을 사용하니 아래와 같이 모든 테스트 케이스에서 시간초과가 발생해서 StringBuilder를 사용해 해결했습니다.

http://dl.dropbox.com/s/us5sw2fjtyvtlby/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-12899_124%20%EB%82%98%EB%9D%BC%EC%9D%98%20%EC%88%AB%EC%9E%90-1.png


코드

public class Main {
    public static String solution(int n) {
        StringBuilder sb = new StringBuilder();

        while (n > 0) {
            int remainder = n % 3;
            n = n / 3;

            if (remainder == 0) {
                remainder = 4;
                n--;
            }

            sb.insert(0, remainder);
        }

        return sb.toString();
    }

    public static void main(String[] args) {
        int n = 1;
//        int n = 2;
//        int n = 3;
//        int n = 4;

        System.out.println(solution(n));
    }
}

카테고리:

업데이트:

댓글남기기