윤일무이
[JavaScript] 프로그래머스 코딩테스트 레벨 1 : 3진법 뒤집기 본문
728x90
문제 및 제한사항
자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.
**제한사항**
n은 1 이상 100,000,000 이하인 자연수입니다.
풀이 방법
예를 들어 n = 45일 때, 3진법으로 바꾸면 1200이 된다. 여기서 앞뒤 반전을 해 0021을 만든 다음 다시 10진법으로 표현한다.
먼저 3진법으로 바꾸는 것은 toString()을 사용하면 할 수 있다.
3진법으로 바꾸고 나면 문자열이기 때문에 split으로 나눠 배열화 한 후 reverse로 앞뒤를 반전한다.
다음 다시 문자열로 만들고, 10진법으로 표현하기 위해 parseInt로 현재 숫자와 해당 수의 진수인 3을 인수로 적어준다.
toString으로 바꾼 게 문자열인 것과 달리 parseInt로 바꾼 수는 Number가 된다.
코드
function solution(n) {
let nThree = n.toString(3).split("").reverse().join("");
return parseInt(nThree, 3);
}728x90
'⚙️ 코딩테스트' 카테고리의 다른 글
| [JavaScript] 프로그래머스 코딩테스트 레벨 1 : 이상한 문자 만들기 (0) | 2023.04.12 |
|---|---|
| [JavaScript] 프로그래머스 코딩테스트 레벨 1 : 행렬의 덧셈 (0) | 2023.04.10 |
| [JavaScript] 프로그래머스 코딩테스트 레벨 1 : 약수의 개수와 덧셈 (0) | 2023.04.10 |
| [JavaScript] 프로그래머스 코딩테스트 레벨 1 : 문자열 다루기 기본 (0) | 2023.04.10 |
| [JavaScript] 프로그래머스 코딩테스트 레벨 1 : 직사각형 별찍기 (0) | 2023.04.10 |