조건
n 은 50,000,000 이하의 자연수
과정
숫자만 1, 2, 4일 뿐 3의 진수나 다름 없다.
주어진 10의 진수(n)을 3의 진수로 바꾸어 주자.
풀이
function solution(n) {
let answer = "";
// 3의 진수 0, 1, 2을 대신 표기할 4, 1, 2 스키마 정의
const schema = ["4", "1", "2"];
while (n > 0) {
// 3으로 나눈 나머지를 구한다
answer = schema[n % 3] + answer;
// 나머지가 0일 경우: 몫에서 1을 빼준다.
// 나머지가 0이 아닐 경우: 몫을 그대로 넘겨준다.
n = n % 3 === 0 ? n / 3 - 1 : parseInt(n / 3);
}
return answer;
}
'개발이야기 > 알고리즘' 카테고리의 다른 글
[알고리즘] 폰켓몬 (해시) (0) | 2023.10.27 |
---|---|
[알고리즘] 달리기 경주 (해시) (0) | 2023.10.25 |
[알고리즘] 바탕화면 정리 (0) | 2023.04.15 |
[알고리즘] 덧칠하기 (0) | 2023.03.29 |
[알고리즘] 대충 만든 자판 (0) | 2023.03.29 |