본문 바로가기
정리/알고리즘

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

by Hudini30 2022. 4. 6.

프로그래머스(연습문제) - 124 나라의 숫자

해당 문제는 3으로 나누 몫과 나머지 값을 이용해 숫자 문자열을 만들면 되는 문제였습니다. rule은 나머지가 각각 0, 1, 2 일때 4, 1, 2 문자열을 붙여주었고, 나온 몫은 다시 재귀로 넣어주는데 이때 나머지가 0인 경우에는 몫에서 1을 뺀 후 재귀 호출을 실행하였습니다. base case는 n이 1보다 작은경우로 생각했었고 아래와 같이 구현하였습니다.

private String[] rule = new String[]{"4", "1", "2"};
    public String solution(int n) {
        if (n < 1) {
            return "";
        }
        int remainder  = n % 3;
        int quotient = n / 3;
        if (remainder == 0) {
            return solution(quotient - 1) + rule[remainder];
        } else {
            return solution(quotient) + rule[remainder];
        }
    }

댓글