PR - 3진법 뒤집기
문제
자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.
예시
n | result |
---|---|
45 | 7 |
125 | 229 |
풀이
- 주어진 숫자를
toString
메서드로 3진수로 바꾼다. - 3진수를 배열 형태로 바꾼 뒤,
reverse
메서드로 뒤집는다. - 뒤집힌 배열을
reduce
메서드로 각 자릿수의 숫자와3^배열길이-인덱스
를 곱한 값을 누산한다.
코드
function solution(n) {
let t = n.toString(3);
const tArray = Array.from(t);
const tArrayReverse = tArray.reverse();
const sum = tArrayReverse.reduce((acc, cur, idx, arr) => {
return acc += 3**((arr.length-1)-idx) * cur;
}, 0)
return sum;
}
Author And Source
이 문제에 관하여(PR - 3진법 뒤집기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@goody/PR-3진법-뒤집기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)