티스토리 뷰
💡 문제
🔍 분석 및 계획
✅ 문제 이해
진법 변환과 문자열 뒤집기 이 두 가지를 이용한 풀이이다
- 입력 값 : 자연수 n
- 1 <= n <= 100,000,000 - 출력 값 : n -> 3진법 -> 뒤집기 -> 10진법
10진수 <-> n진수 간 변환은 ParseInt()와 toString() 내장함수를 사용하면 쉽게 변환이 가능하다
- n진수 → 10진수
// 2진수 → 10진수
let bin = "100101"
let dec = parseInt(bin, 2); // 123
- 10진수 → n진수
// 10진수 → 2진수
let dec = 15;
let bin = dec.toString(2); // "1111"
문자열 뒤집기는 배열의 내장 함수를 이용하면 짧은 코드로 간단하게 나타낼 수 있다
- split()
- reverse()
- join()
✅ 의사코드 작성
// 10진법 -> 3진법
// 문자열로 변환 후 뒤집기
// 10진법으로 변환
📝 코드 구현
의사코드 + 코드
function solution(n) {
// 10진법 -> 3진법
let answer = n.toString(3);
// 문자열로 변환 후 뒤집기
answer = answer.split("").reverse().join("");
// 10진법으로 변환
answer = parseInt(answer, 3);
return answer;
}
최종 코드
function solution(n) {
return parseInt(n.toString(3).split("").reverse().join(""), 3);
}
시간 복잡도 : O(n²)
💭 되돌아 보기
✅ 다른 사람 풀이
동일
'IT기초 > 프로그래머스 문제풀이' 카테고리의 다른 글
| [프로그래머스 LV.1] #30 키패드 누르기 (JavaScript) (0) | 2023.05.29 |
|---|---|
| [프로그래머스 LV.1] #29 두 개 뽑아서 더하기 (JavaScript) (0) | 2023.05.28 |
| [프로그래머스 LV.1] #27 내적 (JavaScript) (0) | 2023.05.26 |
| [프로그래머스 LV.1] #26 신규 아이디 추천 (JavaScript) (0) | 2023.05.25 |
| [프로그래머스 LV.1] #25 음양 더하기 (JavaScript) (0) | 2023.05.24 |
댓글
