-
[자바스크립트] 프로그래머스 Lv.1 3진법 뒤집기[TIL] 카테고리/알고리즘 문제풀기 2022. 5. 16. 10:01
요 문제는 조금 슬프다..
while (n >= 3) { //n이 3보다 작은 동안 arr.unshift(Math.floor(n%3)) // n을 3으로 나눈 나머지를 배열에 넣고 (소숫점무시) n /= 3 // n을 3으로 나눈값을 다시 n에 저장한다 } arr.unshift(Math.floor(n)) // 마지막으로 남은 n을 다시 배열에 넣고 for (i=0; i<arr.length; i++) { // 배열의 길이만큼 answer += arr[i] * (3 ** i) // 다시 10진수로 바꾼다 }
굳이 받은 값을 익숙하지 않은 3진법으로 바꿔서, 그걸 또 10진법으로 바꾸느라
꽤나 머리를 굴렸었는데..
// 다른사람 답안 function solution(n) { return parseInt(n.toString(3).split('').reverse().join(''), 3); }
... 이전에도 몇번이나 사용해봤던 ParseInt가 진수를 바꿔주는 기능이 있다는걸....
다른 사람 답변 보고서야 알아버린 것...
너무 아쉽다...
https://programmers.co.kr/learn/courses/30/lessons/68935
코딩테스트 연습 - 3진법 뒤집기
자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수
programmers.co.kr
'[TIL] 카테고리 > 알고리즘 문제풀기' 카테고리의 다른 글
[자바스크립트] 프로그래머스 Lv.1 같은 숫자는 싫어 (0) 2022.05.17 [자바스크립트] 프로그래머스 Lv.1 최소직사각형 (0) 2022.05.17 [자바스크립트] 프로그래머스 Lv.1 하샤드 수 (0) 2022.05.16 [자바스크립트] 프로그래머스 Lv.1 콜라츠 추측 (0) 2022.05.16 [자바스크립트] 프로그래머스 Lv.1 제일 작은 수 제거하기 (0) 2022.05.16