문제
https://school.programmers.co.kr/learn/courses/30/lessons/12985#
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
입출력

해설
A라는 아이와 B라는 아이가 있을 때 서로 몇 라운드에서 만나는 지에 관한 문제이다.
규칙은 A, B는 서로 만나기 전까지 무조건 이긴다는 것이다.
여기서 서로 같은 팀인지를 알려면 + 1 ÷ 2를 하여 서로 같은 팀이었는지 확인할 수가 있다.
고로 각 숫자에 + 1를 하고 ÷ 2를 하여 서로 같지 않을 떄까지만 반복하게 된다면 끝나게 된다.
정답코드
더보기
'''
'25. 8. 24
1. A, B라는 선수가 각각 어느 라운드에서 만나게 되는지 알아내어라
4 7
2 3
1 2
1 2 3 4
같은 라운드 팀이면 끝내고 아니면 계속 한다.
1 2 3 4 5 6 7 8
1 2 3 4
1, 4
1 2 3 4
1 2
'''
def solution(n,a,b):
answer = 1
while a+1>>1!=b+1>>1:
a=a+1>>1
b=b+1>>1
answer += 1
return answer
깃허브 : https://buly.kr/AaqIhAN
'코딩테스트 > programmers' 카테고리의 다른 글
| 프로그래머스 / 슬라이딩 윈도우 / 할인 행사 (0) | 2025.08.24 |
|---|---|
| 프로그래머스 / 슬라이딩 윈도우 / 연속 부분 수열 합의 개수 (0) | 2025.08.24 |
| 프로그래머스 / 구현 / 영어 끝말잇기 (0) | 2025.08.17 |
| 프로그래머스 / 정수론 / N개의 최소공배수 (0) | 2025.08.15 |
| 프로그래머스 / DP / 멀리 뛰기 (0) | 2025.08.15 |