본문 바로가기

알고리즘

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

https://programmers.co.kr/learn/courses/30/lessons/12899?language=java#

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

이전에 python으로 한번 풀었었는데, 그 당시에 엄청 해맸었떤 문제다.

도저히 못 풀겠어서 풀이 답안들을 참고 했었는데 모두 3진법을 활용해서 풀었고,

이번에는 나도 3진법을 이용해서 풀었는데 나머지가 0을 나타날 때, remainder를 -1하는게 이해가 안갔었다 ㅜㅜ

그러다가 결국 일일이 샤프로 직접 테스트 케이스를 돌려본 결과 아 이래야 답이 나오는구나 했는데,, 머리로는 아직도 이해가 안가는.. 

class Solution {
  public String solution(int n) {
      String answer = "";
      int mod=3;
      int remainder = 0;
      
      while(n!=0){
          
          remainder = n % mod;
          n = n/mod;
          
          if(remainder ==0){
              remainder = 4;
              n -= 1;
          }
          answer = remainder + answer;
          
          
      }
      return answer;
      
  }
}