문제
https://programmers.co.kr/learn/courses/30/lessons/12899?language=javascript#
풀이
- 3진수를 만든다.
- 3진수의 0이 있으면 윗자리 수에서 3을 빌려와서 3을 더해준다.
코드
function solution(n) {
var answer = '';
let tempans = Array();
while(n > 0) {
tempans.push(n % 3);
n = Math.floor(n / 3);
}
for(let i=0;i<tempans.length-1;++i) {
if(tempans[i] <= 0) {
tempans[i] += 3;
tempans[i+1]--;
}
}
tempans.reverse()
.forEach((el) => {
if(el === 0) {
return;
}
if(el === 3) {
answer += '4';
return;
}
answer += el;
})
return answer;
}
'알고리즘' 카테고리의 다른 글
[HackerRank] New Year Chaos (0) | 2021.01.08 |
---|---|
[프로그래머스] 뉴스클러스터링 (0) | 2021.01.07 |
백준 20055 C++ 컨베이어 벨트 위의 로봇 (0) | 2020.12.31 |
Codility - MinAbsSumOfTwo (0) | 2020.12.30 |
백준 4902 삼각형의 값 c++ (0) | 2020.09.17 |