반응형
Notice
Recent Posts
Archives
Today
Total
Link
관리 메뉴

꾸준하게

[JS코테] 월간 코드 챌린지 시즌 - 13진법 뒤집기 본문

JS코딩테스트

[JS코테] 월간 코드 챌린지 시즌 - 13진법 뒤집기

DaeunCoding 2023. 5. 5. 11:21
728x90
반응형

https://school.programmers.co.kr/learn/courses/30/lessons/68935

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

[나의 풀이]

function solution(n) {
    return parseInt([...n.toString(3)].reverse().join(''), 3);
}

 

# 참고

https://medium.com/web-dev-note/javascript-%EC%A7%84%EB%B2%95-%EB%B3%80%ED%99%98-330694083495

 

Javascript 진법 변환

직접 구현하지 말자

medium.com

 

# 풀이방법

 

1) 3진법으로 변환

//n.toString(x) : 10진수 n을 x진수로 변환
n.toString(3)

 

2) 앞뒤 뒤집기

- 배열로 변환하여 순서를 바꿔야 함.

//스프레드 연산자 [...x] : 문자열 x가 글자를 기준으로 나눠져서 배열로 변환됨
//arr.reverse() : 배열arr의 순서를 뒤집어줌
[...n.toString(3)].reverse()

 

3) 순서 바뀐 배열을 다시 문자열로 합침

//arr.join('') : 배열arr를 합쳐서 문자열로 변환
[...n.toString(3)].reverse().join('')

 

4) 10진법을 다시 3진법으로 변환

//parseInt(x,n): 10진법인 x를 n진법으로 변환
parseInt([...n.toString(3)].reverse().join(''), 3)

 

 

728x90
반응형