본문 바로가기
코테연습

47-1. 3진법 뒤집기

by hxunz 2022. 5. 17.

https://programmers.co.kr/learn/courses/30/lessons/68935

 

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

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

programmers.co.kr

 

1. 이해
자연수 n이 주어진다
3진법으로 바꾼다
숫자를 뒤집는다
다시 10진법으로 바꾼다.
 
2. 계획
자연수 n을 3진법으로 바꾼다
숫자를 뒤집는다
다시 10진법으로 바꾼다.
 
 
function solution(n) {
    const ternary = n.toString(3);
    const reverse = ternary.split('').reverse();
    const decimal = parseInt(reverse.join(''), 3);
    
    return decimal;
}

계획 세운것을 하나씩 쪼개서 해봤다.

주어진 숫자를 3진법으로 나타내고

const ternary = n.toString(3);
 
Number.toString();
-> 괄호 안에 숫자를 넣어주면 그 숫자를 기준으로 한 진수 값의 문자열을 환원한다.
-> ex) 괄호안에 2가 들어가면 2진수... 
 

 

이 숫자를 배열로 나타낸다음에 뒤집어주고

const reverse = ternary.split('').reverse();
 

다시 string으로 만든 다음에 10진법으로 바꿔준다.

const decimal = parseInt(reverse.join(''), 3);
 
parseInt(숫자, 진수);
-> 이렇게 넣어주면 해당 숫자를 진수로 바꿔준다.
-> ex) parseInt(3, 2); 3을 2진수로 바꾼 숫자가 나온다.
 
 
 
 
 
 
function solution(n) {
  const result = parseInt(n.toString(3).split('').reverse().join(''), 3);
  return result;
}

위에 작성한 코드를 한줄로 정리해봤다.

 

 

 

 

 

 

문자열 뒤집는거 보고 생각난거..!

https://hxunz.tistory.com/111?category=1030034 

 

20.Stop gninnipS My sdroW!

Description: Write a function that takes in a string of one or more words, and returns the same string, but with all five or more letter words reversed (Just like the name of this Kata). Strings pas..

hxunz.tistory.com

예전에 풀었던 문제 😆

'코테연습' 카테고리의 다른 글

48. 내적  (0) 2022.05.19
47-2. 3진법 뒤집기(2)  (0) 2022.05.18
46. 음양더하기  (0) 2022.05.17
45. 키패드 누르기  (0) 2022.05.17
44. 없는 숫자 더하기  (0) 2022.05.13

댓글