데이터

제로베이스 데이터사이언스 스쿨 - Part 05. 자료구조&알고리즘 with Python -04

Leah (리아) 2025. 11. 30. 17:06
반응형

Chapter 01. 자료구조

리스트와 while문

while문을 이용한 리스트 아이템 조회하기


1. 주요 개념 요약

이 챕터에서는 while문을 이용해 리스트를 순회(iteration)하며 특정 조건에 맞는 값을 걸러내는 방법을 다룬다.

핵심 개념은 다음과 같다:

  • while n < len(list) 형태로 리스트 길이만큼 반복
  • 인덱스를 직접 증가시키며 순회
  • 조건문(if)을 함께 사용하여 특정 조건을 만족하는 아이템만 출력
  • continue 문을 통해 조건을 만족하지 않는 경우 다음 반복으로 건너뛰기
  • 사용자가 입력한 데이터를 리스트에 저장한 뒤, while문으로 분석하는 실습 포함

2. 코드 예시

예제 1 - 과락(60점 미만) 과목 출력하기

 
minScore = 60
scores = [
    ['국어', 58],
    ['영어', 77],
    ['수학', 89],
    ['과학', 99],
    ['국사', 50]
]

n = 0
while n < len(scores):
    if scores[n][1] < minScore:
        print('과락 과목: {}, 점수: {}'.format(scores[n][0], scores[n][1]))
    n += 1

 

출력 결과:

과락 과목: 국어, 점수: 58
과락 과목: 국사, 점수: 50

예제 2 - continue 활용 버전 (PDF p.3)

 
minScore = 60
scores = [
    ['국어', 58],
    ['영어', 77],
    ['수학', 89],
    ['과학', 99],
    ['국사', 50]
]

n = 0
while n < len(scores):
    if scores[n][1] >= minScore:
        n += 1
        continue
    print('과락 과목: {}, 점수: {}'.format(scores[n][0], scores[n][1]))
    n += 1

예제 3 - 사용자 입력 기반 실습 (PDF p.4)

 
minScore = 60

korScore = int(input('국어 점수: '))
engScore = int(input('영어 점수: '))
matScore = int(input('수학 점수: '))
sciScore = int(input('과학 점수: '))
hisScore = int(input('국사 점수: '))

scores = [
    ['국어', korScore],
    ['영어', engScore],
    ['수학', matScore],
    ['과학', sciScore],
    ['국사', hisScore]
]

n = 0
while n < len(scores):
    if scores[n][1] < minScore:
        print('과락 과목: {}, 점수: {}'.format(scores[n][0], scores[n][1]))
    n += 1

 

* 이 글은 제로베이스 데이터사이언스 파트타임 스쿨의 강의 자료 일부를 발췌하여 작성되었습니다.


 

💡 생각 정리

while문을 사용하면 리스트의 길이를 정확히 제어하면서 데이터의 특정 조건을 처리하는 과정을 한 단계씩 이해하기 쉬웠다. 특히 인덱스를 직접 다루기 때문에 for문보다 흐름을 명확하게 눈으로 확인할 수 있다는 장점이 있다. 또한 continue를 사용해 조건을 만족하지 않는 항목을 건너뛰는 로직을 만들 때 반복문의 흐름을 스스로 제어하는 느낌을 더 확실히 이해할 수 있었다.
사용자 입력 데이터를 리스트에 저장한 뒤 조건을 적용하는 실습은 실전 데이터 처리에 가장 가까웠으며, 실제 프로그램에서도 그대로 사용될 수 있는 구조라는 점이 인상적이었다.


🚀 적용점

 

  • 과제 자동 채점 프로그램에서 특정 점수 기준으로 ‘부족한 영역’을 자동 추출하는 기능에 적용 가능
  • 웹/앱 프로젝트에서 입력 리스트를 조건별로 필터링하는 기능 구현 시 활용
  • 실무 데이터 처리에서 인덱스를 직접 다루며 조건 검증해야 하는 경우 유용
  • 반복문 흐름을 제어하는 기본기(continue, 인덱스 증가 등)를 확실하게 다지는 연습으로 적합
  • 여행 앱(예: Wannago Trip)에서 사용자 입력 옵션을 분석해 특정 조건(예: 예산 이하, 이동 거리 이하)에 맞는 항목만 필터링하는 기능에도 동일한 구조로 적용 가능

 

반응형