# 123 진법
- 생성일: 2021년 1월 31일 오후 10:05
- 태그: 로직의 효율성 검토
- 언어: Javascript
# 문제
124 나라가 있습니다. 124 나라에서는 10진법이 아닌 다음과 같은 자신들만의 규칙으로 수를 표현합니다.
- 124 나라에는 자연수만 존재합니다.
- 124 나라에는 모든 수를 표현할 때 1, 2, 4만 사용합니다.
예를 들어서 124 나라에서 사용하는 숫자는 다음과 같이 변환됩니다.
# 제한사항
# 입출력 예
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;
}
# 유의할 점
진법 변경시 해당 진법으로 표현가능한 수를 배열에 담아 인덱스를 읽는 방법으로 하는 것이 현명하다
모든 변환 및 규칙에 의한 치환은 같은 방법으로 가능할 것으로 보인다.