반응형
문제 링크: https://www.acmicpc.net/problem/1057
1057번: 토너먼트
김지민은 N명이 참가하는 스타 토너먼트에 진출했다. 토너먼트는 다음과 같이 진행된다. 일단 N명의 참가자는 번호가 1번부터 N번까지 배정받는다. 그러고 난 후에 서로 인접한 번호끼리 스타를
www.acmicpc.net
알고리즘 분류
- 수학
- 브루트 포스 알고리즘
나름의 풀이 과정에 대한 사고
1, 2, 3, 4, 5, 6, 7, 8 -> 1, 2, 3, 4 -> 1, 2 -> 1
와 같이 진행이 될 때 1, 2를 그룹으로 묶을 수 있는 방법이 중요함. 즉, 3, 4 또한 한 그룹으로 묶을 수 있어야 함
리스트를 사용할수도 있지만 나눗셈과 뺄셈을 이용하여 접근하는 게 더 효율적이다.
value = value - value//2 의 공식은 value가 1 또는 2의 값이 들어갔을 때 무조건 1이 나오게 된다. 마찬가지로 3 또는 4가 들어갔을 때 무조건 2가 나오게 된다. 이와 같은 방법으로 결국 임한수와 김지민이 같은 숫자를 가지게 됐을 때의 라운드 숫자만 뽑아내면 성공하게 된다.
풀이 코드
if __name__ == '__main__':
n, kim, im = map(int, input().split())
count = 0
while kim != im:
kim = kim - kim//2
im = im - im//2
count = count + 1
print(count)
반응형
'프로그래밍 ( Programming ) > 백준 알고리즘 (BaekJoon Algorithm)' 카테고리의 다른 글
BFS & DFS 알고리즘 (0) | 2023.03.03 |
---|---|
5622번 - 다이얼 ( 백준 알고리즘/C++ ) (0) | 2020.12.19 |
2908번 - 상수 ( 백준 알고리즘/C++ ) (0) | 2020.12.17 |
1152번 - 단어의 개수 ( 백준 알고리즘/C++ ) (0) | 2020.12.15 |
1157번 - 단어 공부 ( 백준 알고리즘/C++ ) (2) | 2020.12.14 |
댓글