●문제

●입출력

문제풀이
숫자 n만큼의 사람수만큼 토너먼트를 했을때 a와 b가 항상 이긴다고 전제하에
1번과 2번이 맞붙었을때 이긴 번호를 다시 1번으로 업데이트 해서 a와 b가 만나는 round를 return
푼방법
a == b 가 될때까지 a의숫자와 b의 숫자를 (번호 + 1) / 2로 업데이트
#include <iostream>
using namespace std;
int solution(int n, int a, int b)
{
int round = 0;
//숫자 a == b 가 될때가지 숫자를
//(숫자 + 1) / 2 로 업데이트
while (a != b)
{
round++;
a = (a + 1) / 2;
b = (b + 1) / 2;
}
return round;
}
레벨 : 2
점수 : 1
--문제는 긴데 풀이는 매우 쉽다--
'C++ 프로그래머스 > 기타 문제' 카테고리의 다른 글
| 프로그래머스(C++) - 롤케이크 자르기 (0) | 2025.10.20 |
|---|---|
| 프로그래머스(C++) - 행렬의 곱셈 (0) | 2025.10.20 |
| 프로그래머스(C++) - 영어 끝말잇기 (0) | 2025.10.12 |
| 프로그래머스(C++) - 귤 고르기 (0) | 2025.10.10 |
| 프로그래머스(C++) - 멀리뛰기 (0) | 2025.10.10 |
