본문 바로가기
👩‍💻 Programming/Coding Test 문제 풀이

[Programmers] level 1: 3진법 뒤집기 by JavaScript

by codingBear 2022. 7. 7.
728x90
반응형

 이번 문제에 대한 자세한 사항은 다음 링크를 참고하길 바랍니다.

 

 이번 문제는 주어진 숫자를 진법 간에 바꿀 수 있는지, 바뀐 문자열을 뒤집을 수 있는지 묻는 문제이다. 

 Solution 1은 내가 작성한 해답인데 toString() 및 parseInt() 메서드를 활용하여 3진법과 10진법 간의 변경을 구현하였고 for문으로 문자열 뒤집기를 구현하였다. 다른 사람들의 풀이를 보니 split()과 reverse() 메서드를 조합해서 활용하면 굳이 for문을 쓰지 않아도 문자열 뒤집기가 구현 가능하다는 걸 알게 되었다.

 

Solutions

Solution 1.
function solution(n) {
    let answer = '';
    const sam = n.toString(3)
    for (let i = sam.length - 1; i >= 0; i--) {
        answer += sam[i]
    }
    return parseInt(answer, 3)    
}
Solution 2.
function solution(n) {
  /* reverse Ver. */
  return parseInt([...n.toString(3)].reverse().join(''), 3);
}
728x90
반응형

댓글