본문 바로가기
알고리즘/소스코드

PROGRAMMERS 12985: 예상 대진표

by cjw.git 2021. 4. 5.

Link : programmers.co.kr/learn/courses/30/lessons/12985


Python

더보기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
def solution(n, a, b):
    a -= 1
    b -= 1
    matching_list = [1 if i == a or i == b else 0 for i in range(n)]
    counting = 1
    while len(matching_list) > 2:
        for i in range(0, n, 2):
            if matching_list[i] == 1 and matching_list[i + 1== 1:
                return counting
        matching_list = [1 if matching_list[i] == 1 or matching_list[i + 1== 1 else 0 for i in range(0, n, 2)]
        n = len(matching_list)
        counting += 1
 
    return counting
cs

FeedBack

  1. matching_list를 a와 b만큼 [홀수] 뺀 값에서 해주면 나머지 대진표가 필요없음. 공간낭비를 줄일 수 있음

 

 

 

cjw.git@gmail.com

댓글