CodingTest/Baekjoon

[baekjoon] 백준 1057번(파이썬): 토너먼트

JunJangE 2022. 4. 13. 01:35

문제

 

1057번: 토너먼트

김지민은 N명이 참가하는 스타 토너먼트에 진출했다. 토너먼트는 다음과 같이 진행된다. 일단 N명의 참가자는 번호가 1번부터 N번까지 배정받는다. 그러고 난 후에 서로 인접한 번호끼리 스타를

www.acmicpc.net

알고리즘

- 반복문을 통해 kim과 lim이 같은 라운드에서 만났을 때를 찾는다.

- kim과 lim 앞에 있는 사람들 중 진 사람들을 제외하면 자신의 위치를 찾을 수 있다.

- 매번 카운트해준 후 반복문이 종료하면 카운트한 수를 출력한다.

코드

import sys

n, kim, lim = map(int, sys.stdin.readline().split())
cnt = 0

# kim과 lim이 같은면 같은 라운드에서 만난 것
while kim != lim:
    # kim과 lim 앞에 있는 사람들중 진 사람들을 제외하고
    # kim과 lim의 위치를 초기화한다.
    kim -= kim // 2
    lim -= lim // 2
    cnt += 1 # 카운트

print(cnt)

github

 

GitHub - junjange/CodingTest: 내가 푼 코딩 테스트 문제와 해결법

내가 푼 코딩 테스트 문제와 해결법. Contribute to junjange/CodingTest development by creating an account on GitHub.

github.com