본문 바로가기
알고리즘

[프로그래머스- 예상 대진표][파이썬] -13일차

by Jyujae 2022. 6. 7.

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

--잘못된 코드

실패 이유: if len ~ 부분에서 볼 수 있는 것 처럼, 8->4 는 되는데 4->2로 좁혀서 원하는 대진을 만나게 할 수가 없다

 

--> 뭔가 새로운 규칙이 있을 것 같아서 고민 후 다른 사람 코드를 참조했다

--풀이

번호(player 번호) 나머지
1 1//2=0 1%2=1 1
2 2//2=1 2%2=0 1
3 3//2=1 3%2=1 2
4 4//2=2 4%2=0 2
5 5//2=2 5%2=1 3
6 6//2=3 6%2=0 3
7 7//2=3 7%2=1 4
8 8//2=4 8%2=0 4

1번, 2번은 다음 라운드에서 1,

3번, 4번은 다음 라운드에서 2,

5번, 6번은 다음 라운드에서 3,

7번,8 번은 다음 라운드에서 4번으로 배정받는다

 

누가 올라와서 리스트에서 몇번 하고 몇번이 경기를 하고는 중요하지 않고,

그냥 "다음 라운드에 같은 번호이면, 같은 경기를 하는 것이니까" 로 접근했다

 

규칙을 찾고 패턴으로 접근해보자