Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬으로 리스트의 감소 지점 찾기

리스트에서 값이 감소하기 시작하는 지점(감소 지점)을 찾아야 할 때는 간단한 반복문과 break 문을 활용하면 됩니다. 인접한 두 요소를 차례로 비교하여, 뒤의 요소가 앞의 요소보다 작아지는 순간의 인덱스를 찾아내는 방식입니다.

예제 코드

다음은 이를 구현한 예제입니다.

my_list = [21, 62, 53, 94, 55, 66, 18, 1, 0]

print("The list is :")
print(my_list)

my_result = -1
for index in range(0, len(my_list) - 1):

    if my_list[index + 1] < my_list[index]:
        my_result = index
        break

print("The result is :")
print(my_result)

실행 결과

The list is :
[21, 62, 53, 94, 55, 66, 18, 1, 0]
The result is :
1

코드 설명

  • 정수로 이루어진 리스트를 정의하고 콘솔에 출력합니다.

  • 결과를 저장할 정수 변수를 초기값(-1)으로 선언합니다. 이 값은 감소 지점이 없을 경우의 기본 반환값 역할을 합니다.

  • 리스트를 순회하면서 연속된 두 인덱스의 요소 값을 비교합니다.

  • 만약 다음 인덱스의 값이 현재 인덱스의 값보다 작다면, 해당 인덱스를 결과 변수에 저장합니다.

  • break 문을 통해 반복문을 즉시 빠져나와 불필요한 추가 연산을 방지합니다.

  • 최종적으로 감소 지점의 인덱스가 콘솔에 출력됩니다.

위 예제에서는 62 다음에 오는 53이 더 작기 때문에, 첫 번째 감소 지점인 인덱스 1이 결과로 출력됩니다. 이 방법은 시간 복잡도 O(n)으로 리스트를 한 번만 순회하므로 효율적이며, 감소 지점을 발견하는 즉시 종료되어 성능 면에서도 유리합니다.