[문제]
자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.
[제한 사항]
n은 1 이상 100,000,000 이하인 자연수입니다.
[나의 풀이]
function solution(n) {
let answer = n.toString(3).split("").reverse().join("");;
return parseInt(answer, 3);
}
n(예시: 125)을 3진법 문자열로 만든 다음(11122) split으로 하나씩 나누었다.(['1', '1', '1', '2', '2'])
그리고 이 배열을 reverse()를 이용해서 뒤집고(['2','2','1','1','1']), join으로 다시 문자열로 합쳤다.(22111)
parseInt를 이용하여 다시 10진법으로 변환하여 값을 반환했다.
[다른 사람의 풀이]
function solution(n) {
let answer = [...n.toString(3)]
console.log(answer);
return parseInt(answer, 3);
}
[...n.toString(3)]으로 n.toString(3).split("")의 역할을 다 했다!
Spread Syntax를 여기서 사용할 생각조차 못했는데 새로운 솔루션을 알게 되었다..
Spread syntax (...) - JavaScript | MDN
Spread syntax (...) allows an iterable such as an array expression or string to be expanded in places where zero or more arguments (for function calls) or elements (for array literals) are expected, or an object expression to be expanded in places where ze
developer.mozilla.org
728x90
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[자바스크립트/알고리즘] 프로그래머스-직사각형 별찍기 (0) | 2021.01.28 |
---|---|
[자바스크립트/알고리즘] 프로그래머스- H-index (0) | 2021.01.26 |
[자바스크립트/알고리즘] 프로그래머스 - 두 개 뽑아서 더하기 (0) | 2021.01.25 |
[자바스크립트/알고리즘] 프로그래머스- 신규 아이디 추천 (카카오 2021 블라인드 채용 문제) (0) | 2021.01.25 |
[자바스크립트/알고리즘] 프로그래머스- 소수 찾기 (0) | 2021.01.24 |