연습 문제

배열과 연결 리스트 (컴퓨터/정보 고등 정보)

문제에 답하고 제출하면 정답과 풀이를 확인할 수 있습니다. 한 세트는 5문항으로 구성됩니다.

아래의 기본 문제를 먼저 풀어 보세요. 자동 채점 화면은 자바스크립트가 켜진 브라우저에서 이용할 수 있습니다.

문제와 해설로 복습하기

이 단원의 기본 문제 5개입니다. 먼저 스스로 풀고, 힌트와 해설을 열어 풀이 과정을 비교해 보세요. 위의 채점 연습에서는 기본 문제를 다시 풀거나, 지원되는 수학 단원의 변형 문제를 풀 수 있습니다.

기본 문제 1

정렬되지 않은 동적 배열의 맨 앞에 원소 하나를 삽입할 때 기존 원소를 옮기는 비용이 O(n)인 이유는 무엇인가요?
  1. 기존 원소의 인덱스를 한 칸씩 밀어야 해서
  2. 배열에서 인덱스 조회가 항상 O(n)이라서
  3. 배열 원소마다 디스크 검색이 필요해서
  4. 배열은 삽입을 지원하지 않아서
힌트 보기배열은 연속된 칸에 인덱스 순으로 놓입니다.
정답과 풀이 보기
정답: 기존 원소의 인덱스를 한 칸씩 밀어야 해서
  1. 1. 풀이

    앞자리를 비우려면 기존 n개 원소의 위치를 바꿔야 하므로 이동 횟수가 n에 비례합니다.

기본 문제 2

연결 리스트에서 이미 알고 있는 노드 뒤에 새 노드를 삽입하는 작업은 보통 어떤 시간인가요?
  1. O(1)
  2. O(log n)
  3. O(n)
  4. O(n²)
힌트 보기전체를 찾는 시간과 포인터 갱신 시간을 나누세요.
정답과 풀이 보기
정답: O(1)
  1. 1. 풀이

    삽입 위치 노드를 이미 알고 있으면 몇 개의 링크만 갱신하면 되므로 O(1)입니다. 위치를 찾는 탐색은 별도입니다.

기본 문제 3

인덱스 500의 값을 자주 읽고 중간 삽입은 드문 작업에 더 적합한 구조는 무엇인가요?
  1. 배열
  2. 단일 연결 리스트
  3. 큐
  4. 스택
힌트 보기임의 인덱스 접근 비용을 비교하세요.
정답과 풀이 보기
정답: 배열
  1. 1. 풀이

    배열은 인덱스로 주소를 계산해 O(1)에 접근합니다. 연결 리스트는 앞에서 순회해야 합니다.

기본 문제 4

동적 배열의 용량이 가득 찬 뒤 용량을 두 배로 늘리는 방식의 평균적인 끝 삽입 비용 설명은 무엇인가요?
  1. 개별 확장은 O(n)이지만 여러 삽입에 나누면 분할 상환 O(1)
  2. 모든 삽입이 항상 O(n²)
  3. 확장과 관계없이 모든 삽입이 최악 O(1)
  4. 배열은 확장할 수 없음
힌트 보기확장이 일어나는 드문 비용을 여러 번의 삽입에 나누어 보세요.
정답과 풀이 보기
정답: 개별 확장은 O(n)이지만 여러 삽입에 나누면 분할 상환 O(1)
  1. 1. 풀이

    확장 때는 n개를 복사하지만 매번 확장하지 않으므로 연속된 n번 삽입의 총 복사량이 O(n)이고 분할 상환 비용은 O(1)입니다.

기본 문제 5

연결 리스트의 i번째 원소에 바로 접근할 수 없는 이유는 무엇인가요?
  1. 다음 노드 링크를 따라가며 앞에서부터 찾아야 해서
  2. 연결 리스트에는 원소 순서가 없어서
  3. 연결 리스트는 노드 주소를 저장하지 않아서
  4. 모든 원소가 해시로 저장되어서
힌트 보기연속 주소를 계산할 수 있는 배열과 비교하세요.
정답과 풀이 보기
정답: 다음 노드 링크를 따라가며 앞에서부터 찾아야 해서
  1. 1. 풀이

    연결 리스트는 원소의 주소가 연속된 인덱스로 계산되지 않아 앞 노드의 링크를 순서대로 따라가야 합니다.

참고 근거와 확인 범위

설명·예제·문제 구성 및 오류 수정 책임: 프리런. 위 자료는 표시한 주제를 확인하거나 더 읽기 위한 근거이며, 외부 기관의 공식 수업이나 감수본을 뜻하지 않습니다.

참고 자료 연결 점검: 2026-11-02. 제작 방식·검수 범위와 수정 기록에서 확인 범위를 볼 수 있습니다. 오류는 상단의 의견 보내기 또는 contact@freelearn.io로 알려 주세요.