[Programmers] 점프와 순간 이동 - JavaScript

Joosi_Cool·2023년 2월 9일
0

Programmers

목록 보기
7/98
post-thumbnail
post-custom-banner

문제설명



설계 과정

이 문제는 규칙을 알아내는 것이 중요하다.
우선, 문제에서 원하는 것은 더하기를 많이 하지말고 최대한 곱하기로 n을 만들어라 하는 것이다.
그래서 본인은 아래와 같이 설계하였다.

  • n=1이 될때까지 반복
  1. n이 2로 나누어지면 2로 나눔
  2. 그렇지 않다면 -1을 진행하고, 답 ++


풀이 코드

function solution(n)
{
    var ans = 1;
    while(n!==1){
        if(n%2===0) n = n/2;
        else{
            n=n-1;
            ans++;
        }
    }
    return ans;
}


결과

이번 문제는 규칙을 알아내는 것이 중요한데, 직접 테스트 케이스를 계산해보면서 최적의 해를 구하기 위한 과정을 해보는 것이 중요한 것 같다. 이렇게 하다보면 규칙을 찾게 된다. 규칙만 알아낸다면 금방 푸는 문제였다.

profile
집돌이 FE개발자의 노트
post-custom-banner

0개의 댓글