# 123 진법

  • 생성일: 2021년 1월 31일 오후 10:05
  • 태그: 로직의 효율성 검토
  • 언어: Javascript

# 문제

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

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

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

# 제한사항

# 입출력 예

src/_2021-02-07__12.41.56.png

function solution(n) {
    var answer = '';
    let str = '';
    let temp = 0;
    while (n >= 1) {
        temp = n % 3
        n = Math.floor(n / 3);
        str = String(temp) + str;
    }
    let cnvStr = parseInt(str)
    while (0 < cnvStr) {
        let temp = cnvStr % 10
        cnvStr = parseInt(cnvStr / 10)
        if (temp === 0) {
            temp = 4;
            cnvStr -= 1;
        } else if (temp === 9) {
            temp = 2;
        }
        answer = String(temp) + answer;
    }
    return answer;
}

# 유의할 점


진법 변경시 해당 진법으로 표현가능한 수를 배열에 담아 인덱스를 읽는 방법으로 하는 것이 현명하다

모든 변환 및 규칙에 의한 치환은 같은 방법으로 가능할 것으로 보인다.


© Devlog from jeong