JAVA/Argorithm Test

# Level 2 -124 나라의 숫자

skysoo1111 2020. 12. 8. 14:24

[문제]

124 나라가 있습니다. 124 나라에서는 10진법이 아닌 다음과 같은 자신들만의 규칙으로 수를 표현합니다.

  1. 124 나라에는 자연수만 존재합니다.
  2. 124 나라에는 모든 수를 표현할 때 1, 2, 4만 사용합니다.

예를 들어서 124 나라에서 사용하는 숫자는 다음과 같이 변환됩니다.

자연수 n이 매개변수로 주어질 때, n을 124 나라에서 사용하는 숫자로 바꾼 값을 return 하도록 solution 함수를 완성해 주세요.

 

[내 풀이]

이 문제는 반복되는 숫자 패턴 속에서 규칙을 찾아내는 것이 핵심이었는데, 생각보다 시간이 많이 소요되었다.

 

그래도 이런 문제는 처음이 어렵지 한번 겪고 나면 비교적 응용이 쉽고 간단하게 풀 수있다.

class Solution {
    public String solution(int n) {
        int m = n / 3;
        int na = n % 3;
        StringBuilder sb = new StringBuilder();
        sb.append(na);
        
        while(m!=0){
            if (na==0) m = m-1;
            if (m==0) break;

            na = m % 3;
            m = m / 3;
            sb.append(na);
        }
        return sb.reverse().toString().replaceAll("0","4");
    }
}

'JAVA > Argorithm Test' 카테고리의 다른 글

# Level 2 - H-Index  (0) 2020.12.15
# Level 2 - 프린터  (0) 2020.12.09
# Level 1 - 하샤드 수  (0) 2020.12.04
# Level 1 - 시저 암호  (0) 2020.11.23
#Level 1 - 소수 찾기  (0) 2020.11.20