코딩 테스트/프로그래머스 level2

예상 대진표

fullfish 2022. 9. 9. 16:47

코드

function solution(n, a, b) {
  let count = 1;
  if (a > b) {
    let temp = a;
    a = b;
    b = temp;
  }
  while (n > 1) {
    if (a + 1 === b && b % 2 === 0) return count;
    a = Math.ceil(a / 2);
    b = Math.ceil(b / 2);
    count++;
    n /= 2;
  }
}

다른 사람 코드

function solution(n,a,b)
{
    let answer = 0;
    while(a !== b) {
        a = Math.ceil(a/2);
        b = Math.ceil(b/2);
        answer++;
    }

    return answer;
}

굳이 n을 사용하지 않아도 됐다

a와 b가 7,8처럼 맞붙을 경우는 어차피 2로나누고 올리면 같은 숫자가 되므로

a,b의 대소비교도 할 필요가 없었다

'코딩 테스트 > 프로그래머스 level2' 카테고리의 다른 글

행렬의 곱셈  (0) 2022.09.09
짝지어 제거하기  (0) 2022.09.09
영어 끝말잇기  (0) 2022.09.09
카펫  (0) 2022.09.09
다음 큰 숫자  (0) 2022.09.09