알고리즘/프로그래머스
[2017 팁스타운] 예상 대진 - Python / JavaScript
Dev. Dong
2025. 3. 4. 18:12
문제 링크 - https://school.programmers.co.kr/learn/courses/30/lessons/12985
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
[문제 간단 요약]
1. 토너먼트를 진행하는데 A와 B가 만나게 될 라운드를 구하는 문제
[문제 해결 방안]
1. 라운드에서 만난다는 것은 A와 B가 연속된 숫자 이며 둘 중 작은 수가 홀수
2. 하나의 라운드가 끝날 때 마다 각 A와 B의 위치는 현재 위치의 절반
[문제 해결 코드 - python]
import math
def solution(n,a,b):
answer = 0
A=min(a,b)
B=max(a,b)
while True:
answer += 1
if (A+1) == B and (A % 2 == 1):
return answer
A = math.ceil(A/2)
B = math.ceil(B/2)
return answer
[문제 해결 코드 - javascript]
function solution(n,a,b)
{
var answer = 0;
let A = Math.min(a,b)
let B = Math.max(a,b)
while (true) {
answer += 1
if ((A + 1 === B) && (A % 2 === 1)) {
return answer
}
A = Math.ceil(A/2)
B = Math.ceil(B/2)
}
}