#include <iostream>
using namespace std;
int giveNum(int a)
{
if(a%2==0)
return a/2;
else
return a/2+1;
}
int tornumant(int a, int b)
{
if(a==b)
return 0;
a = giveNum(a);
b = giveNum(b);
return 1+tornumant(a, b); //토너먼트 치룰 때 마다 1씩 증가.
}
int solution(int n, int a, int b)
{
return tornumant(a,b);
}
반복문으로 2를 계속 나눠서 같은 숫자가 나올 때까지 카운트 해도 되는데,
재귀함수를 활용해보고 싶어서 재귀함수로 풀었다.
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[Level 2][C++] JadenCase 문자열 만들기 (0) | 2024.10.01 |
---|---|
[Level 2][C++] N개의 최소공배수 (0) | 2024.10.01 |
[Level 2][C++] 소수 만들기 (0) | 2024.10.01 |
[Level 2][C++] 점프와 순간 이동 (0) | 2024.10.01 |
[Level 2][C++] 영어 끝말잇기 (0) | 2024.10.01 |