프로그래머스/구현
[구현] 프로그래머스 '예상 대진표' - js
bbeyak
2023. 3. 17. 13:56
반응형
1. 문제
https://school.programmers.co.kr/learn/courses/30/lessons/12985
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
2. 코드
처음엔 생각을 잘못해서 b와 a의 차가 1인 경우에만 지지고 볶고... 했었다.. 어떤 경우에는 정답이고 어떤 경우에는 정답이 아니었다. 당연하지!! 조건을 잘 못썼으니 ㅠㅠ 계산도 더 간단하게 할 수 있도록 해주는 메서드가 많은데... 아직 Math 메서드에는 익숙해지지 않아서 잘 안 떠오르나 보다. Math에 익숙해지자.
처음 짠 코드 - 오답!!!!!!!
function solution(n,a,b)
{
let cnt = 1;
while(a >= 1){
if(b - a === 1){
a = a % 2 ? a / 2 : a / 2 + 1;
b = b % 2 ? b / 2 : b / 2 + 1;
cnt++;
}else break;
}
return cnt;
}
정답 코드
function solution(n,a,b) {
let answer = 0;
// a와 b가 같아지면 같은 라운드에 있다는 말과 같다.
while(a !== b) {
a = Math.ceil(a/2);
b = Math.ceil(b/2);
answer++;
}
return answer;
}
복기
5/22
반응형