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

파이썬으로 행 길이가 오름차순인지 확인하는 프로그램

리스트에 포함된 각 행(내부 리스트)의 길이가 오름차순으로 증가하는지 확인해야 하는 경우, 간단한 반복문과 불리언(Boolean) 값을 활용하면 손쉽게 해결할 수 있습니다.

아래는 그 구현 예시입니다.

예제 코드

my_list = [[55], [12, 17], [25, 32, 24], [58, 36, 57, 19, 14]]

print("리스트 출력:")
print(my_list)

my_result = True

for index in range(len(my_list) - 1):
    if len(my_list[index + 1]) <= len(my_list[index]):
        my_result = False
        break

print("결과:")

if my_result == True:
    print("행의 길이가 오름차순으로 증가합니다")
else:
    print("행의 길이가 오름차순으로 증가하지 않습니다")

실행 결과

리스트 출력:
[[55], [12, 17], [25, 32, 24], [58, 36, 57, 19, 14]]
결과:
행의 길이가 오름차순으로 증가합니다

동작 원리 설명

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

  • 불리언 변수를 'True' 값으로 초기화합니다.

  • 반복문을 사용해 리스트를 순회하면서 각 내부 리스트의 길이를 바로 다음 리스트의 길이와 비교합니다.

  • 만약 현재 리스트의 길이가 다음 리스트의 길이보다 크거나 같다면, 즉 길이가 증가하지 않는 경우에는 불리언 값을 'False'로 설정합니다.

  • 조건이 만족되면 break 문을 통해 반복문을 즉시 빠져나와 불필요한 추가 검사를 방지합니다.

  • 마지막으로 최종 불리언 값에 따라 해당하는 메시지를 콘솔에 출력합니다.

이 방식은 시간 복잡도가 O(n)으로 효율적이며, 모든 행을 검사하기 전에 조건이 깨지는 지점을 발견하면 조기에 종료되므로 성능 면에서도 유리합니다.