본문 바로가기

알고리즘/test

javascript) 프로그래머스 - 3진법 뒤집기

https://school.programmers.co.kr/learn/courses/30/lessons/68935

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

실행코드

function solution(n) {
    let base3 = ""; 
    while (n > 0) {
        base3 += n % 3;
        n = Math.floor(n / 3);
      }
  
  	let base10 = 0;
  	let power = 0;
  
  
  for (let i = base3.length - 1; i >= 0; i--) {
    let digit = parseInt(base3[i]);
    base10 += digit * Math.pow(3, power); 
    power++;
  }
  
  return base10
}

풀이:

n을 매개변수로 사용하여 3진법으로 앞뒤로 뒤집은 다음 결과흫 반환.

while루프를 사용하여 숫자를 3진수로 변환하고 숫자를 문자열에 저장한 다음 for루프를 사용하여 문자열을 오른쪽에서 왼쪽으로 반복하고 결과 숫자를 10진수로 계산.

그런다음 함수는 10진수로 결과 숫자를 반환.