4일차 → 3진법 뒤집기(toString(), split(), reverse(), join(), parseInt())
본문 바로가기
항해 중/2주차 알고리즘(프로그래머스)

4일차 → 3진법 뒤집기(toString(), split(), reverse(), join(), parseInt())

by 은돌1113 2021. 11. 11.

문제설명

자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return

 

제한사항

- n은 1 이상, 100,000,000 이하인 자연수입니다.

 

내가 푼 문제 풀이

function solution(n) {
    
    let answer = 0;

    // 10진법 = n
    // console.log(n)

    // 10진법 -> 3진법
    n = n.toString(3)

    // 3진법 -> 앞뒤반전(3진법)
    n = n.split("").reverse().join("")

    // 앞뒤반전(3진법) -> 10진법
    answer = Number.parseInt(n, 3)

    return answer;
}

 

# 10진법 -> 2,8,16 진법으로 변환

-> 변수.toString(바꿀 진법)

 

# 2,8,16 진법 -> 10진법

-> Number.parseInt(변수, 현재 진법)

 

https://medium.com/web-dev-note/javascript-%EC%A7%84%EB%B2%95-%EB%B3%80%ED%99%98-330694083495

 

Javascript 진법 변환

직접 구현하지 말자

medium.com

 

다른 사람이 푼 문제 풀이

function solution(n){
    return parseInt(n.toString(3).split("").reverse().join(''), 3)
}

내가 푼 코드를 한줄로 요약한 느낌인데 훨씬 깔끔해서 좋은 것 같다.

 

https://velog.io/@yeseul/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-3%EC%A7%84%EB%B2%95-%EB%92%A4%EC%A7%91%EA%B8%B0-JS

 

[프로그래머스] 3진법 뒤집기 - JS

알고리즘 공부 기록

velog.io

 

https://programmers.co.kr/learn/courses/30/lessons/68935?language=javascript 

 

코딩테스트 연습 - 3진법 뒤집기

자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수

programmers.co.kr

 

댓글