-
[CodeKata] 프로그래머스 : 3.22(월), 예상 대진표Algorithm 2021. 3. 23. 01:08반응형
🥋 Ooooth!! (Level 2) : 예상 대진표
a, b가 항상 이긴다고 가정하면, 다음 번호는 현재 번호를 2로 나눈뒤 반올림한 값이라는 규칙성을 근거로 풀었다.
🧮 풀이
function solution(n,a,b) { let answer = 0; while (a !== b) { a = Math.round(a/2) b = Math.round(b/2) answer++; } return answer; }
- answer는 정답이자, 라운드 수를 누적할 변수이다.
- while 반복문을 순회하며, 종료조건은 a와 b가 같아질 때이다. a와 b를 각각, 2로 나눈뒤 반올림한 값으로 최신화한다. (Math.floor)
- 또한, 각 순회는 곧 라운드가 진행됬다는 의미로, answer에 1을 더해준다.
🖇 리뷰
다른 분들의 풀이도 같았다. 오늘도 역시 알고리즘보단, 규칙성과 수학문제에 가깝다는 생각이 들었다.
뿌듯한 점은, 로직을 미리 구상하고 필요없는 n 변수를 과감하게 제외한 점인 것 같다.
반응형'Algorithm' 카테고리의 다른 글
[CodeKata] 프로그래머스 : 3.25(목), 프렌즈4블록 (0) 2021.03.25 [CodeKata] 프로그래머스 : 3.24(수), 뉴스 클러스터링 (0) 2021.03.25 [CodeKata] 프로그래머스 : 3.20(토), 점프와 순간이동 & 영어 끝말잇기 (0) 2021.03.20 [CodeKata] 프로그래머스 : 3.18(목), 배달 / [이론] Dijkstra Algorithm (0) 2021.03.18 [CodeKata] 프로그래머스 : 3.17(수), 짝지어 제거하기 (0) 2021.03.17