Skip to content

답안 제출 #1

@Youngwhy

Description

@Youngwhy

병목 발생 지점

52번 라인: if student.name in self.processed_students: (96.0% 시간 소모)

문제점

5000명의 학생을 처리할 때마다 리스트에서 선형 탐색
평균적으로 리스트의 절반(2500개)을 탐색
총 탐색 횟수: 5000 × 2500 = 12,500,000회

해결책

set으로 자료구조를 바꿔서 O(1)으로 탐색 시간 줄이기
총 탐색 횟수: 5000 × 1 = 5000회

항목 원본 (리스트) 개선 (set) 개선 비율
데이터 처리 77.498ms 3.144ms 24.6배
전체 실행 127.952ms 52.494ms 2.4배
검색 복잡도 O(n²) O(n) 선형→상수

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions