🫠
Programmers (level 1) 👉🏻 문제 27번 (3진법 뒤집기)
✏️ 문제 설명
자연수 n이 매개변수로 주어집니다.
n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해 주세요.
✏️ 제한사항
n은 1 이상 100,000,000 이하인 자연수입니다.
✏️ 입출력 예
답을 도출하는 과정은 다음과 같습니다.
n result 45 7 125 229
n(10진법) n(3진법) 앞뒤 반전(3진법) 10진법으로 표현 45 1200 0021 7
function solution(n) {
return parseInt((n.toString(3).split('').reverse().join('')), 3)
}
✅ 10진법 --> 3진법으로 변환하기 위해 n.toString(3)을 통해 변경
✅ 문자열을 split()을 통해 배열로 만들어 reverse() 사용하여 뒤집기 --> join()을 통해 다시 배열에서 문자열로 변환
✅ parseInt(number, 3)을 통해 3진법에서 10진법으로 다시 변환
💡 다른 사람 풀이
✅ 굳이 split('')을 사용하지 않고, spread연산자로 써도 괜찮을 것 같다.
[...n.toString(3)] 이렇게!
'프로그래머스 풀이 > level1' 카테고리의 다른 글
[Programmers] level 1) 문제 '최대공약수와 최소공배수' 풀이 *** (0) | 2023.05.28 |
---|---|
[Programmers] level 1) 문제 '행렬의 덧셈' 풀이 (1) | 2023.05.27 |
[Programmers] level 1) 문제 '같은 숫자는 싫어' 풀이 (0) | 2023.05.23 |
[Programmers] level 1) 문제 '이상한 문자 만들기' 풀이 (0) | 2023.05.22 |
[Programmers] level 1) 문제 '문자열 내림차순으로 배치하기' 풀이 (0) | 2023.05.18 |