728x90
(풀기 전에 알아야 할 것)
1. toString() : ()안에 숫자를 넣어주면, 숫자 진법으로 변경된다.
2. parseInt(string, radix) : 전달 받은 문자열을 전달 받은 radix로 분석한 정수를 반환한다. 해당 문자열은 3진법이니까 3진법으로 분석한 정수를 반환한다고 이해하면 된다.
👌 45는 10진법이니까 3진법으로 바꿔주기
n.toString(3) // 문자열 1200
👌 배열로 나눠주기
n.toString(3).split('') // 1,2,0,0
👌 뒤집어 주기
n.toString(3).split('').reverse() // 0.0.2.1
👌 다시 묶어주기
n.toString(3).split('').reverse().join('') // 0021
👌 문자열 0021이므로 정수로 바꿔주어야 하는데, 이 때 3진법을 반환하는 함수로
parseInt(문자열, radix) 이걸 사용한다
parseInt((n.toString(3).split('').reverse().join('')),3)
✅ 최종 코드
function solution(n) { return parseInt((n.toString(3).split('').reverse().join('')),3) } |
728x90
'알고리즘 스터디 > [프로그래머스] 월간 코드 챌린지 시즌1' 카테고리의 다른 글
[알고리즘] 모의고사 문제풀이(자바스크립트 javascript) (0) | 2022.07.20 |
---|---|
[알고리즘] 로또의 최고 순위와 최저 순위 문제풀이(자바스크립트 javascript) (0) | 2022.07.20 |
[알고리즘] 두 개 뽑아서 더하기 문제풀이(자바스크립트 javascript) (0) | 2022.07.20 |
[알고리즘] 같은 숫자는 싫어 문제풀기(자바스크립트 javascript) (0) | 2022.07.20 |
[알고리즘] 최소직사각형 문제풀기(자바스크립트 javascript) (0) | 2022.07.20 |