https://programmers.co.kr/learn/courses/30/lessons/12985
대진표 조건에 따라 구현하면 된다.
두 명이 같은 라운드에 있는 경우는 a-b의 절댓값이 1이고 둘을 더한 값에 4를 나눴을 때 나머지가 3이면 성립한다.
Ex: (1,2) , (3,4) , (5,6) -> 모두 3+4n의 규칙을 가진다.
다음 라운드의 번호를 구하려면 홀수일 경우 +1 후 2로 나누고 짝수일 경우 그냥 2로 나눠준다
나의 풀이
def return_next(num):
if num%2 ==0:
return num//2
else: return (num+1)//2
def solution(n,a,b):
answer = 1
while True:
if (abs(a-b)==1 and (a+b)%4==3):
return answer
else:
a = return_next(a)
b = return_next(b)
answer+=1
return answer
생각해보니 홀수이든 짝수이든 그냥 +1 하고 2로 나눠줘도 동작한다.
'Programming > Programmers' 카테고리의 다른 글
[프로그래머스] 후보키 (Python) (0) | 2021.11.01 |
---|---|
[프로그래머스] 순위 검색(Python) (0) | 2021.11.01 |
[프로그래머스] 게임 맵 최단거리(Python) (0) | 2021.10.31 |
[프로그래머스] 거리두기 확인하기(Python) (0) | 2021.10.31 |
[프로그래머스] 뉴스 클러스터링(Python) (0) | 2021.10.30 |
댓글