알고리즘
프로그래머스 Level 1 - 3진법 뒤집기(JavaScript)
또롱또
2022. 5. 15. 19:14
728x90
https://programmers.co.kr/learn/courses/30/lessons/68935
function solution(n) {
var answer = 0;
// 임시값 보존할 변수
let temp = 0;
// .toString(3) - 3진법으로 만들고, 배열로 만들고, 뒤집고, 문자열로 만든다
temp = n.toString(3).split('').reverse().join('');
// 정수로 바꿔준다(3진법문자열이라고 알려줌)
answer = parseInt(temp, 3)
return answer;
}
정답은 대부분 비슷해서
3진법을 toString말고 나눈값의 나머지로 계산한걸 가져왔다.
function solution(n) {
const answer = [];
while(n !== 0) {
answer.unshift(n % 3);
n = Math.floor(n/3);
}
return answer.reduce((acc,v,i) => acc + (v * Math.pow(3, i)),0);
}
728x90