반응형
1. 문제
https://school.programmers.co.kr/learn/courses/30/lessons/12985
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
반응형
'프로그래머스 > 구현' 카테고리의 다른 글
[구현] 프로그래머스 'N개의 최소공배수' - js (0) | 2023.03.27 |
---|---|
[일반] 프로그래머스 '점프와 순간 이동' - js (0) | 2023.03.27 |
[문자열] 프로그래머스 '영어 끝말잇기' -js (0) | 2023.03.17 |
[배열] 프로그래머스 '다음 큰 숫자' - js (0) | 2023.03.17 |
[문자열] 프로그래머스 '이진 변환 반복하기' - js (0) | 2023.03.15 |