에상 대진표
-
[프로그래머스] 예상 대진표알고리즘/프로그래머스 2021. 8. 5. 14:32
문제 링크 풀이 시드 개념으로 접근했습니다. {1,2}는 1번 시드, {3,4}는 2번 시드. 라운드가 진행되면서 주어진 a, b가 같은 시드가 되면 됩니다. 1번 시드에 속하면 계속 1번 시드이지만 다른 시드에 속한 사람은 배정된 번호가 라운드마다 바뀌므로 새롭게 시드가 배정됩니다. 배정 번호로 시드를 구하면 됩니다. 짝수 번호는 나누는 수가 자신의 시드이지만 홀수인 자는 올림 연산을 해야 합니다. 7번은 4번 시드이니까요. 처음에 ceil()을 사용했지만 비트 연산을 활용하는 방법도 있습니다. 코드 #include int solution(int n, int a, int b) { int answer = 0; while (a != b) { a = ceil(a / 2.f); b = ceil(b / 2.f)..