CS/알고리즘

[Javascript] 3진법 뒤집기

Dahoon06 2022. 2. 1. 20:35
728x90
반응형

 

문제 설명

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

 

제한 사항 )

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

입출력 예 )

n result
45 7
125 229

 

 

정답 코드

/**
 *
 * @param n: 매개변수
 * @returns {number}
 */
function solution(n) {
    const num = n.toString(3);
    const result = num.split('').reverse().join('');

    return parseInt(result,3);
}

 

    1. toString( )
      • 문법(Syntax) : number.toString(radix);  [ radix : 2 ~ 36 사이의 수 ] 
    2. parseInt( )
      • 문법(Syntax) : number.parseInt(string, radix); [ string: 해석할 문자열 필수, (radix: 표현할 수 ( 2~36 ) 옵션) ]

 

10진수로 들어오는 n을 toString(3)을 이용하여 3진수로 바꿔줘야한다. ( 이때 num은 숫자가 아닌 문자열 취급 )

 

바꿔준 수를 ''을 기준으로 분리하여 뒤집은 후에 다시 ''을 기준으로 붙여 result라는 변수에 저장하였다.

 

그 다음에 result 라는 수를 다시 10진법으로 표현하여 반환해야한다.

pareInt() 함수를 사용하여 result를 다시 parseInt()를 통하여 숫자로 변환하여 반환해준다.

 

 

 


 

728x90
반응형

'CS > 알고리즘' 카테고리의 다른 글

[Javascript] 2016년  (0) 2022.02.26
[Javascript] 예산  (0) 2022.02.19
[Javascript] 약수의 개수 덧셈  (0) 2022.02.01
[Javascript] 실패율  (0) 2022.01.17
[Java] 오름차순, 내림차순 알고리즘  (0) 2021.09.07