728x90
📍 리스트 중 front, back에서부터 target index까지 어느 쪽이 더 가까운지 판단하기
길이가 10
인 리스트 arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
일 때, target_index = 3(값은 4)
는 앞에서부터 더 가까운지 아니면 뒤에서부터 가까운지 판단하고 싶을 때 다음과 같은 코드를 작성하면 된다.
728x90
응용문제로는 백준 1021 - 회전하는 큐가있다.
front
와back
을 나누는 기준은len(arr) // 2
이다.- 만약,
target_index
가 기준보다 작다면 앞에서부터 가깝고, 기준보다 크다면 뒤에서부터 세는 편이 더 빠르다.
n = 10
arr = [i for i in range(1, n+1)]
target_index = 3 # 4
if arr.index(target_index) <= len(arr) // 2:
print(f'front가 더 가깝습니다. 앞쪽과의 거리 = {arr.index(target_index)+1}, 뒤쪽과의 거리 = {len(arr) - (arr.index(target_index)+1)}, 앞 / 뒤를 나누는 거리 = {len(arr) // 2}')
else:
print(f'back 더 가깝습니다. 앞쪽과의 거리 = {arr.index(target_index)+1}, 뒤쪽과의 거리 = {len(arr) - (arr.index(target_index)+1)}, 앞 / 뒤를 나누는 거리 = {len(arr) // 2}')
👉🏽 front가 더 가깝습니다. 앞쪽과의 거리 = 3, 뒤쪽과의 거리 = 7, 앞 / 뒤를 나누는 기준 = 5
반응형
'Python > 파이썬 문법 Tips' 카테고리의 다른 글
[ 파이썬(python) ] 절사평균과 round(반올림) 함수 그리고 부동소수점 비교 (0) | 2021.07.13 |
---|---|
[ 파이썬(python) ] python에서 음의 정수를 floor 해보기 (0) | 2021.07.01 |
[ 파이썬(python) ] 삼각수(계차수열) 나타내기 (0) | 2021.06.20 |
[ 파이썬(python) ] 2차원 행렬 시계, 반시계 방향으로 90도 뒤집기 (0) | 2021.06.15 |
[ 파이썬(python) ] 2차원 행렬 상하, 좌우 반전하기 (0) | 2021.06.15 |
댓글