문제
접근
하나씩 확인하는 방식을 확인했다.
큐를 이용해도 될것 같은데, 그냥 간단하게 배열 두개를 이용해서 옮겨다녔다.
기준 배열에서 짝수번째 수들만 새로운 배열에 담아준다.
새로운 배열을 기준배열로 삼고 다시 이를 반복한다.
수가 한개 남을 때까지.
코드
- 파이썬 코드
1
2
3
4
5
6
7
8
9
10
n = int(input())
arr = [i+1 for i in range(n)]
tmp = []
while len(arr) != 1:
for idx, item in enumerate(arr):
if idx % 2:
tmp.append(item)
arr = tmp
tmp = []
print(arr[0])