[프로그래머스/Level2] 124 나라의 숫자

SeokHyun·2022년 7월 1일
0

프로그래머스

목록 보기
9/32

문제 링크: https://programmers.co.kr/learn/courses/30/lessons/12899

문제 접근

이 문제는 테스트 케이스를 찾으러 질문하기를 들어갔다가 스포를 당해버렸다...
처음에 테스트 케이스를 일부만 보고 3으로 나눈 나머지 값에 따라 StringBuilder에 붙여야겠다라는 접근까지는 좋았다.

내 생각대로 코드를 짜고 혼자 검증할 때 얼추 맞는다는 들고 코드 실행도 통과했다.
하지만, 채점에서 틀려서 뭔가 걸릴만한 빡센 테스트 케이스가 있을거라 생각하고 질문하기를 들어갔다가 스포를 당했다.

조심하자...

핵심

이 문제의 핵심은 나머지값이 0일 때, 몫을 -1 해주는 것이 중요하다. 이는 3진법과 달리 0을 안쓰기 때문이다.

자세한 설명은 아래의 링크로 대체하겠다.
https://yabmoons.tistory.com/692

소스 코드

class Solution {
    public String solution(int n) {
        StringBuilder sb = new StringBuilder();
        int[] numbers = { 4, 1, 2 };
        int remain;
        
        do {
            remain = n % 3;
            sb.insert(0, numbers[remain]);
            
            n /= 3;
            if (remain == 0) {
                n -= 1;
            }
        } while(n > 0);
        
        return sb.toString();
    }
}
profile
SI를 넘어 백엔드 엔지니어를 향하여

0개의 댓글