아파트 우편함
101호 우편함을 찾을 때는 첫 칸부터 이름을 읽지 않고, 호수 번호가 붙은 칸으로 바로 갑니다.
연속된 데이터를 순서대로 다루는 가장 기본적인 도구
데이터를 여러 개 저장할 때 가장 먼저 떠올릴 수 있는 구조입니다. 인덱스로 즉시 접근할 수 있고 순회 비용을 예측하기 쉬워, 다른 자료구조와 알고리즘을 이해하는 기준점이 됩니다.
코드를 생각하지 말고, 아래 상황이 어떤 순서로 움직이는지만 따라가 보세요.
101호 우편함을 찾을 때는 첫 칸부터 이름을 읽지 않고, 호수 번호가 붙은 칸으로 바로 갑니다.
세 번째 노래를 누르면 바로 재생되지만, 제목만 기억하면 목록을 위에서부터 찾아야 합니다.
코딩 테스트의 장난감 예제를 넘어, 실제 시스템에서 같은 원리가 어디에 숨어 있는지 연결해 보세요.
상품·게시글 목록을 받은 순서대로 렌더링하고 페이지 단위로 잘라 보여줍니다.
시간 순서로 쌓인 요청량이나 센서 값을 한 번 순회하며 통계를 냅니다.
샘플을 인덱스로 접근하고 일정 크기의 미니배치로 묶습니다.
주문이나 고객 목록을 행 순서대로 훑으며 조건에 맞는 데이터를 찾습니다.
시간순으로 저장된 진폭 값을 인덱스로 읽어 파형을 재생하고 편집합니다.
파이썬 리스트는 원소의 참조를 연속된 공간에 보관하는 동적 배열입니다. items[i]는 시작 위치에서 i만큼 이동하므로 O(1)이지만, 값으로 찾을 때는 앞에서부터 확인해야 하므로 최악의 경우 O(n)입니다.
| 연산 | Python 표현 | 시간 |
|---|---|---|
| 인덱스 접근 | arr[i] | O(1) |
| 값 탐색 | x in arr | O(n) |
| 끝에 추가 | append | 평균 O(1) |
| 중간 삽입/삭제 | insert / pop(i) | O(n) |
numbers = [4, 2, 7, 1], target = 7numbers[0]은 4 → 다르므로 계속numbers[1]은 2 → 다르므로 계속numbers[2]는 7 → 인덱스 2 반환pop(0)을 반복하면 나머지 원소를 계속 당겨 O(n²)이 될 수 있습니다.설명을 닫고 먼저 풀어본 뒤, 막히는 지점에서 어떤 연산이 필요한지 다시 떠올려 보세요.
Easy 연습 1 / 7
Python으로 풀기Easy 연습 2 / 7
Python으로 풀기Easy 연습 3 / 7
Python으로 풀기Easy 연습 4 / 7
Python으로 풀기Easy 연습 5 / 7
Python으로 풀기Easy 연습 6 / 7
Python으로 풀기Easy 연습 7 / 7
Python으로 풀기Medium 연습 1 / 3
Python으로 풀기Medium 연습 2 / 3
Python으로 풀기Medium 연습 3 / 3
Python으로 풀기