본문 바로가기
👩‍💻Developer/Leetcode

[Easy][Python] Count of Matches in Tournament

by 블루누들 2022. 10. 23.

n개의 team이 있다고 했을 때 아래와 같은 strange rules를 따른다:

  • 만약 n이 even일 경우 n/2 matches가 있고 n/2 teams가 다음 라운드로 진출한다.
  • 만약 n이 odd일 경우 (n-1)/2 matches가 있고 (n-1)/2+1 teams가 다음 라운드로 진출한다. 

최종 winner team이 결정될 때까지 토너먼트에서 이루어진 match숫자를 return한다.

 

class Solution:
    def numberOfMatches(self, n: int) -> int:
        numMatch = 0;
        while (n!=1):
            if n%2 == 0:
                numMatch += n//2
                n = n//2
            else:
                numMatch += (n-1)//2
                n = (n-1)//2+1
        return numMatch

댓글