코드
# 원래 리스트를 삭제하면 홀수 index였던 수가 짝수 index를 가짐에 주의
n = int(input())
numlist = [i for i in range(1,n+1)]
while len(numlist) != 1: # 길이가 1이 되면 종료
temp = [] # 짝수번째만 넣어줄 리스트
for i in numlist[1::2]: # 2번째부터 2칸씩 띄어가며 추가
temp.append(i)
numlist = temp # numlist 업데이트
print(numlist[0]) # 마지막 남은 수 출력
수학적으로 생각하면 n보다 크지않은 2의 제곱수를 출력하는 문제라고 한다.
'백준' 카테고리의 다른 글
[백준] 25379번 피하자 파이썬 코드 (0) | 2024.02.27 |
---|---|
[백준] 19941번 햄버거 분배 파이썬 코드 (0) | 2024.02.27 |
[백준] 28215번 대피소 파이썬 코드 (0) | 2024.02.22 |
[백준] 2531번 회전 초밥 파이썬 코드 (0) | 2024.02.22 |
[백준] 16165번 걸그룹 마스터 준석이 파이썬 코드 (0) | 2024.02.21 |