데이터

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

Leah (리아) 2025. 12. 13. 11:35
반응형

Chapter 02. 자료구조 문제풀이

 

리스트 연습문제 총정리 (01·02·03)

주요 개념 요약

✔ 리스트 기반 문제 해결력 강화

  • 리스트의 길이, 슬라이싱, 반복문을 종합적으로 활용
  • 조건문과 결합하여 원하는 값 필터링
  • 난수(random)를 사용하여 실전 데이터 시뮬레이션

✔ 반복문(for / while)을 활용한 누적 처리

  • 특정 조건을 만족하는 원소만 연산
  • 리스트 요소 합계/평균 구하기
  • 리스트를 순회하여 특정 패턴 찾기

✔ 리스트와 딕셔너리를 혼합하여 사용하는 연습

  • 문제 03에서는 입장료 표를 기반으로 가격 계산
  • 난수를 이용해 나이 분포를 랜덤 생성
  • 조건에 따라 금액 합산

코드 예시 정리


연습문제 리스트(01) — 기본 리스트 처리

문제 예시

주어진 리스트에서 짝수만 출력하시오.

 
nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

for n in nums:
    if n % 2 == 0:
        print(n)

연습문제 리스트(02) — 리스트 연산 & 조건 처리

문제 예시

리스트에서 특정 조건을 만족하는 요소들의 합계를 구하시오.

 
scores = [55, 72, 88, 90, 45, 67]
total = 0

for s in scores:
    if s >= 70:
        total += s

print("70점 이상 점수 합:", total)

연습문제 리스트(03) — 난수 기반 입장료 계산

나이 입장료
0~3세 무료
4~13세 2,000원
14~18세 3,000원
19세 이상 5,000원

풀이 코드 예시

 
import random

total_fee = 0

for _ in range(100):
    age = random.randint(0, 70)

    if age <= 3:
        fee = 0
    elif age <= 13:
        fee = 2000
    elif age <= 18:
        fee = 3000
    else:
        fee = 5000

    total_fee += fee

print("오늘 하루 총 입장료:", total_fee, "원")

 

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


 

💡 생각 정리

이번 세 가지 연습문제를 통해 리스트가 단순한 저장 구조가 아니라, 조건 처리·반복문·연산·시뮬레이션까지 모든 로직의 기반이 된다는 것을 다시 느꼈다. 난수와 리스트를 결합하는 문제에서는 실제 데이터 처리를 모델링하는 감각도 배울 수 있었다. 특히 03번 문제처럼 실제 입장객의 나이를 랜덤으로 생성해 계산하는 과정은 실무 데이터 분석과도 연결된다는 점이 흥미로웠다. 반복문 흐름을 머릿속에서 그리며 리스트를 다루는 능력이 훨씬 단단해졌다.


🚀 적용점

 

  • 실제 프로젝트에서 고객 연령대·구매 데이터 등을 리스트로 저장하여 통계 계산 가능
  • 난수(Random)를 이용해 시뮬레이션 기반 테스트 데이터 생성에 활용
  • 딕셔너리와 리스트를 조합하면 간단한 요금 정책·규칙 기반 시스템 구현에 응용 가능
  • 반복문 + 조건문 로직을 강화하여 앞으로 나오는 알고리즘 문제에서도 활용 가능

 

반응형