본문 바로가기
알고리즘 스터디/[프로그래머스] 월간 코드 챌린지 시즌1

[알고리즘] 3진법 뒤집기 문제풀이(자바스크립트 javascript)

by 제니운 2022. 7. 20.
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