


이런 식으로 홀수가 다 없어지고, 짝수만 남길래
N+1개의 리스트를 만들어서 숫자를 하나씩 넣어주고, 거기서 홀수 인덱스 제거해주는 함수를 만들어서
리스트의 개수가 2개가 될 때까지 반복해줬다.
이렇게 해주면 N이 짝수일 때는 되지만 홀수일 때는 안된다.

홀수일때를 생각해서 함수를 정의할 때
우선 0번째 인덱스에 0을 먼저 담아준 다음
N이 홀수이면 1번째 인덱스에 제일 마지 막번째 수를 담아주고
나는 파이썬으로 했으니까 [-1] 번째!
def mix(x):
global arr
newarr = [0]
if len(x) % 2 == 0:
newarr.append(arr[-1])
for i in range(1, len(x)):
if i % 2 == 0:
newarr.append(arr[i])
return(newarr)
N = int(input())
arr = []
for i in range(N+1):
arr.append(i)
while len(arr) > 2:
arr = mix(arr)
if len(arr) == 2:
print(arr[1])'알고리즘 > BOJ' 카테고리의 다른 글
| [BOJ / 백준] 2559번 수열 4 python / 파이썬 누적 합 (0) | 2022.03.24 |
|---|---|
| [BOJ / 백준] 11659번 구간 합 구 하기 4 python / 파이썬 누적합 / 시간초과 탈출 (0) | 2022.03.23 |
| [BOJ / 백준] 4949번 균형잡힌 세상 python / 파이썬 스택 (0) | 2022.03.09 |
| [BOJ / 백준] 9012번 괄호 python / 파이썬 스택 (0) | 2022.03.09 |
| [BOJ / 백준] 1918번 후위 표기식 python / 파이썬 후위 표기법 변환/ 파이썬 리스트 문자열 변환 (0) | 2022.02.27 |
댓글