[2021-06-10] 124나라의 숫자 (lv2)

2021. 6. 10. 22:32코딩테스트

푼 시간 : 3시간(못 풀었음)

언어 : 자바

 


 

https://programmers.co.kr/learn/courses/30/lessons/12899

 

코딩테스트 연습 - 124 나라의 숫자

 

programmers.co.kr

 

푸느라 머리가 깨질뻔 했는데, 결국엔 풀지는 못 했다.

애초부터 접근방식이 잘못 된 건가 싶은데 맞는 것 같다.

알고리즘이라는게 기본적으로 어떤식으로 탐색해야 할지

컴퓨터한테 알려주는 과정인 것 같은 느낌이 자꾸 드는데

나는 그 능력이 부족한 것 같다. 풀지는 못했고, 구글링을 통해

이해하고 글을 남긴다.

 

class Solution {
    public String solution(int n) {
      String[] num = {"4","1","2"};
      // 배열에 미리 4, 1, 2를 넣어놓는다.
      String answer = "";
 
      while(n > 0){
          answer = num[n % 3] + answer;
          // 나머지가 0이면 4, 1이면 1, 2이면 2를 넣는다.
          n = (n - 1) / 3;
          /* 6의 경우를 들어보면, 6이 들어가고 나서
          (6-1)/3 5/3을 하는것이니 1이 남는다.
          1이 남으면 14가 된다. */
      }
      return answer;
    }
}

 

n=(n-1)/3은 진짜 생각도 못했다.

풀이법을 보고나서도 계속 이게 맞나 싶은 풀이였던 것 같다.