리스트에 포함된 각 행(내부 리스트)의 길이가 오름차순으로 증가하는지 확인해야 하는 경우, 간단한 반복문과 불리언(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)으로 효율적이며, 모든 행을 검사하기 전에 조건이 깨지는 지점을 발견하면 조기에 종료되므로 성능 면에서도 유리합니다.