Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- JavaScript
- maeil-mail
- react-router
- react-redux
- 코딩테스트합격자되기
- Algorithm
- redux
- json-server
- programmers
- C++
- java
- 매일메일
- 리액트
- createSlice
- 테코테코
- 알고리즘
- useDispatch
- Get
- Python
- SW
- 이코테
- 자바
- 항해99
- redux-saga
- redux-toolkit
- 프로그래머스
- sw expert academy
- 항해플러스
- axios
- react
Archives
- Today
- Total
Binary Journey
[Javascript][메모] 프로그래머스 3진법 본문
반응형
https://programmers.co.kr/learn/courses/30/lessons/68935
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges
문제는 이렇다.
자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.
내 식은 이랬다.
function solution(n) {
let ternary = [];
let answer = 0;
while (n >= 1) {
if (n > 1) {
ternary.push(n % 3);
} else {
ternary.push(n);
}
n = parseInt(n / 3);
}
for (let i = 0; i < ternary.length; i++) {
answer += ternary[i] * Math.pow(3, ternary.length - 1 - i);
}
return answer;
}
근데 다른 사람의 풀이를 보니 한 줄로 끝나더라.
const solution = (n) => {
return parseInt([...n.toString(3)].reverse().join(""), 3);
}
toString으로 3진법 수 만들어준 뒤 한글자씩 풀어서 리스트 만들고 뒤집어서 String으로 만든 뒤 다시 10진법으로..
도른자덜,,,,,,
반응형
'프로그래머스 > 메모' 카테고리의 다른 글
[Javascript][메모] 프로그래머스 음양 더하기 (0) | 2021.06.08 |
---|---|
[Javascript][메모] 프로그래머스 이진변환 반복하기 (0) | 2021.06.08 |
[Javascript][메모] 프로그래머스 피보나치 수, 2 x n 타일링 (0) | 2021.04.22 |