1. 문제
코딩테스트 연습 - 예상 대진표
△△ 게임대회가 개최되었습니다. 이 대회는 N명이 참가하고, 토너먼트 형식으로 진행됩니다. N명의 참가자는 각각 1부터 N번을 차례대로 배정받습니다. 그리고, 1번↔2번, 3번↔4번, ... , N-1번↔N�
programmers.co.kr
2. 소스코드
- 간단한 수학문제.
- 현재 대진 번호가 cur, 다음 대진 번호가 next라 하면
next = cur % 2 == 0 ? cur / 2 : cur / 2 + 1 임을 이용해 주면 된다.
- B-A의 차이가 0이 될 때까지 반복하기에, 둘 중 작은 값을 A에 넣었다.
소스코드
#include <iostream>
using namespace std;
int solution(int n, int a, int b)
{
int answer = 0;
if( a > b ) swap(a,b);
while(b - a){
a = a % 2 == 0 ? a/2 : a/2 + 1;
b = b % 2 == 0 ? b/2 : b/2 + 1;
answer++;
}
return answer;
}
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[ 프로그래머스 / 구현 ] 괄호 변환 (KaKao) (0) | 2020.07.02 |
---|---|
[ 프로그래머스 / Stack ] 짝지어 제거하기 (0) | 2020.07.02 |
[ 프로그래머스 / 문자열 ] 후보키 (KaKao) (0) | 2020.07.02 |
[ 프로그래머스 / 문자열 ] 뉴스 클러스터링 (KaKao) (0) | 2020.07.02 |
[ 프로그래머스 / 구현 ] 캐시 (KaKao) (0) | 2020.07.01 |