문제

https://programmers.co.kr/learn/courses/30/lessons/12899?language=javascript#

풀이

  1. 3진수를 만든다.
  2. 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

+ Recent posts