2020 KOI 1교시 초등부 풀이 정리

이 문서는 2020 - 초등부 기출문제를 바탕으로, 초등부 1교시 정답 자료를 학습용 풀이 노트로 다시 정리한 것입니다. 그림형 문제는 공식 정답 화면을 함께 넣었고, 계산형 문제는 왜 그런 답이 되는지 짧게 보강했습니다.

1. 3의 거듭제곱 나머지

문제 한눈에 보기

로 나눈 나머지가 일 때, 로 나눈 나머지를 구하는 문제입니다.

핵심 개념

거듭제곱의 나머지는 일정한 주기로 반복됩니다.

왜 이 생각을 먼저 해야 하는지

을 직접 계산하는 것은 불가능에 가깝지만, 라는 정보 하나로 지수를 크게 줄일 수 있습니다.

단계별 풀이

  1. 문제에서 로 나눈 나머지가 이라고 했습니다.
  2. 이므로 입니다.
  3. 따라서 입니다.

헷갈리기 쉬운 점

가 아니라 을 계산하려고 하면 계산만 커지고 핵심은 놓치게 됩니다.

2. 친구 목록 세기

문제 한눈에 보기

다섯 명 A, B, C, D, E가 있고, 아는 사람 수가 각각 일 때 가능한 목록 개수를 묻는 문제입니다.

핵심 개념

그래프에서 차수 조건이 서로 모순되는지 먼저 확인해야 합니다.

왜 이 생각을 먼저 해야 하는지

직접 목록을 만들기 전에, 가장 강한 조건인 를 적용하면 나머지 사람들의 가능성이 거의 사라집니다.

단계별 풀이

  1. A가 4명을 안다는 것은 AB, C, D, E 모두를 안다는 뜻입니다.
  2. 그러면 DE는 이미 A 한 명과 연결되어 차수 을 모두 사용했습니다. 따라서 다른 누구와도 더 연결될 수 없습니다.
  3. 그런데 B는 총 명을 알아야 하므로 A 말고도 2명을 더 알아야 하고, CA 말고도 1명을 더 알아야 합니다.
  4. DE는 더 연결될 수 없으므로 B, C의 부족한 차수를 채울 방법이 없습니다.
  5. 따라서 조건을 만족하는 목록은 없습니다.

헷갈리기 쉬운 점

차수의 합이 맞는지만 보면 안 되고, 각 사람에게 실제로 그 연결을 배정할 수 있는지도 봐야 합니다.

3. 가위바위보 경우의 수

문제 한눈에 보기

5판 3선승제에서 현재 A1승 0패일 때, A가 최종 승리하는 경우의 수를 세는 문제입니다.

핵심 개념

게임은 A가 3승을 채우는 순간 끝나므로, 끝나는 시점별로 나누어 세면 됩니다.

왜 이 생각을 먼저 해야 하는지

전체 4판을 무조건 다 보는 것이 아니라, 누가 먼저 3승을 찍는 순간 멈춘다는 조건이 핵심입니다.

단계별 풀이

  1. 현재 A는 이미 1승이 있으므로 앞으로 2승만 더 하면 됩니다.
  2. 2판 만에 끝나는 경우는 WW 1가지입니다.
  3. 3판 만에 끝나는 경우는 WLW, LWW 2가지입니다.
  4. 4판 만에 끝나는 경우는 마지막 판이 반드시 W이고, 앞 3판에 W 1개와 L 2개가 있어야 하므로 WLLW, LWLW, LLWW 3가지입니다.
  5. 합치면 가지입니다.

헷갈리기 쉬운 점

WWWL처럼 이미 앞에서 끝난 게임을 뒤까지 세면 안 됩니다.

4. 무빙워크 손잡이

문제 한눈에 보기

발판 회전축 반지름이 , 손잡이 회전축 반지름이 일 때, 손잡이 회전축이 6바퀴 도는 데 걸리는 시간을 구합니다.

핵심 개념

둘레가 더 큰 쪽은 같은 선속도를 맞추려면 회전 주기가 더 길어집니다.

왜 이 생각을 먼저 해야 하는지

문제에서 이미 “손잡이 회전축은 초 동안 한 바퀴 돌아야 한다”는 규칙을 줬기 때문입니다.

단계별 풀이

  1. 발판 회전축은 1초에 1바퀴 돕니다.
  2. 손잡이 회전축 1바퀴 시간은 초입니다.
  3. 6바퀴 도는 시간은 초입니다.

헷갈리기 쉬운 점

반지름이 크면 더 빨리 돈다고 생각하기 쉽지만, 같은 선속도를 맞추려면 오히려 한 바퀴 시간이 더 길어집니다.

5. 지뢰찾기

문제 한눈에 보기

숫자가 적힌 칸 조건을 모두 만족할 때, 가~마 가운데 반드시 지뢰인 칸을 찾는 문제입니다.

핵심 개념

지뢰찾기는 각 숫자 칸 주변의 미확정 칸 수를 식으로 바꾸면 됩니다.

왜 이 생각을 먼저 해야 하는지

여러 칸을 한꺼번에 보지 말고, 처럼 강한 조건부터 적용하면 후보가 빠르게 줄어듭니다.

단계별 풀이

  1. 이 적힌 칸 주변은 모두 지뢰가 아닙니다.
  2. 윗줄의 들과 오른쪽의 을 이용하면 윗부분 후보가 거의 한 칸으로 좁혀집니다.
  3. 가운데의 , 아래의 , 오른쪽 아래 을 차례로 맞추면 는 반드시 지뢰여야만 합니다.
  4. 나머지 나, 다, 라, 마는 경우에 따라 지뢰가 될 수도 있고 아닐 수도 있습니다.

헷갈리기 쉬운 점

“지뢰일 수 있다”와 “반드시 지뢰다”는 다릅니다. 이 문제는 반드시 지뢰인 칸을 고르는 문제입니다.

6. 금화 상자

문제 한눈에 보기

세 문장 중 정확히 하나만 참이고, 금화는 세 상자 중 하나에만 있을 때 금화가 들어 있을 수 있는 상자를 찾는 문제입니다.

핵심 개념

가능한 경우를 하나씩 대입해 참거짓 개수를 세면 됩니다.

왜 이 생각을 먼저 해야 하는지

문장 수가 3개뿐이라 논리식으로 길게 쓰기보다 경우 분류가 가장 빠릅니다.

단계별 풀이

  1. 금화가 1번에 있으면
    1번 문장 참, 2번 문장 참, 3번 문장 거짓이라서 참이 2개입니다.
  2. 금화가 2번에 있으면
    1번 문장 거짓, 2번 문장 거짓, 3번 문장 참이라서 참이 1개입니다.
  3. 금화가 3번에 있으면
    1번 문장 거짓, 2번 문장 참, 3번 문장 참이라서 참이 2개입니다.
  4. 조건을 만족하는 경우는 2번뿐입니다.

헷갈리기 쉬운 점

“정확히 하나만 참”이지 “적어도 하나 참”이 아닙니다.

7. 자동차 셔틀

문제 한눈에 보기

12명이 20km를 가야 하고, 자동차는 4명까지 태울 수 있을 때 모두가 동시에 도착하도록 하는 최소 시간을 구하는 문제입니다.

2시간 36분

핵심 개념

세 그룹으로 나누어 자동차를 셔틀처럼 운행하되, 먼저 내려준 사람들은 계속 걷게 하면 됩니다.

왜 이 생각을 먼저 해야 하는지

한 번에 12명을 다 태울 수 없으므로, “누가 얼마나 차를 타고 얼마나 걷는가”를 균형 맞춰야 최소 시간이 나옵니다.

단계별 풀이

  1. 12명을 4명씩 세 그룹으로 나눕니다.
  2. 첫 번째 그룹을 일정 시간 만큼 태워 보내고, 차는 돌아와 나머지 사람들을 태웁니다. 같은 방식으로 두 번째 그룹까지 처리합니다.
  3. 동시에 도착하려면 첫 번째와 두 번째 그룹의 승차 시간은 같아야 하고, 마지막 그룹은 남은 구간을 차로 한 번에 가면 됩니다.
  4. 식을 세우면 시간이 나오고, 총 도착 시간은 시간입니다.
  5. 시간은 36분이므로 최소 시간은 2시간 36분입니다.

헷갈리기 쉬운 점

자동차를 끝까지 한 그룹만 태워 보내면 다른 그룹이 너무 늦어져서 전체 시간이 커집니다.

8. 공 옮기기

문제 한눈에 보기

A에서 빨간 공 개를 B로 옮긴 뒤, B에서 임의의 개를 다시 A로 옮겼을 때 A의 파란 공 수 B의 빨간 공 수 의 관계를 묻는 문제입니다.

핵심 개념

처음 옮긴 빨간 공 수와 되돌아온 빨간 공 수를 비교하면 바로 보입니다.

왜 이 생각을 먼저 해야 하는지

확률 문제처럼 보이지만, 실제로는 총개수 보존만으로 항상 같은 수가 됩니다.

단계별 풀이

  1. 처음에 A에는 빨간 공만 있고 B에는 파란 공만 있습니다.
  2. A에서 빨간 공 개를 B로 옮긴 뒤, B에서 개를 다시 A로 옮깁니다.
  3. 이때 B에 남아 있는 빨간 공 수를 라고 하면, 처음 옮긴 개 중 k-y개가 A로 돌아온 것입니다.
  4. 따라서 A로 돌아온 공 개 중 빨간 공이 k-y개이므로, 나머지 개는 파란 공입니다.
  5. A의 파란 공 수 B의 빨간 공 수 는 항상 같습니다.

헷갈리기 쉬운 점

무작위로 꺼내도 “기댓값만 같다”가 아니라 실제 개수가 항상 같습니다.

9. 동전 거스름돈

문제 한눈에 보기

원, 원, 원 동전만으로 정확히 만들 수 있는 금액이 언제부터 끊김 없이 나오는지 구하는 문제입니다.

핵심 개념

연속된 여러 금액을 만들 수 있으면, 가장 작은 동전을 더해 그 이후도 모두 만들 수 있습니다.

왜 이 생각을 먼저 해야 하는지

무한히 많은 금액을 직접 검사할 수는 없으므로, 어느 지점부터는 패턴이 이어진다는 사실을 잡아야 합니다.

단계별 풀이

  1. , , , , 이므로 부터 까지 연속해서 만들 수 있습니다.
  2. 이후 금액은 이 다섯 값 중 하나에 를 더하는 방식으로 계속 만들 수 있습니다.
  3. 따라서 이상이면 정확한 금액을 언제나 만들 수 있습니다.

헷갈리기 쉬운 점

은 만들 수 없으므로 시작점은 이 아니라 입니다.

10. 문자열 사전순

문제 한눈에 보기

길이 10의 문자열을 로 만들되, 다음에는 가 올 수 없고 다음에는 가 올 수 없을 때 22번째 문자열을 찾는 문제입니다.

aaaabbbbbb

핵심 개념

사전순 문제는 “어떤 접두사로 시작하는 문자열이 몇 개인가”를 세면서 내려가면 됩니다.

왜 이 생각을 먼저 해야 하는지

문자열을 전부 늘어놓을 필요 없이, 앞자리부터 후보 개수를 빼 가며 정확한 위치를 찾을 수 있습니다.

단계별 풀이

  1. aaaaa로 시작하는 문자열 수를 세면 개입니다.
  2. 따라서 22번째 문자열은 aaaaa...가 아니라, 바로 다음 접두사인 aaaab...로 시작합니다.
  3. aaaab 뒤에서는 가 올 수 없으므로 가장 사전순 앞선 선택은 입니다.
  4. 같은 방식으로 끝까지 가장 앞선 가능 문자를 고르면 aaaabbbbbb가 됩니다.

헷갈리기 쉬운 점

뒤에는 만 올 수 있다는 조건을 빼먹으면 개수 계산이 전부 달라집니다.

11. 숫자 문자열 복원

문제 한눈에 보기

로 해석하는 방법의 수를 구하는 문제입니다.

핵심 개념

한 자리 해석과 두 자리 해석이 모두 가능할 때는 둘을 더하는 동적 계획법을 쓰면 됩니다.

왜 이 생각을 먼저 해야 하는지

앞에서 몇 글자를 해석했는지만 알면 다음 경우 수가 정해지는 전형적인 DP 문제이기 때문입니다.

단계별 풀이

  1. 를 앞에서 글자까지 해석하는 방법의 수라고 둡니다.
  2. 한 자리 수가 가능하면 을 더하고, 두 자리 수가 부터 사이면 를 더합니다.
  3. 에 대해 계산하면
    가 됩니다.
  4. 따라서 전체 해석 방법 수는 입니다.

헷갈리기 쉬운 점

두 자리 수는 처럼 26을 넘으면 글자로 바꿀 수 없습니다.

12. 두 돌무더기 게임

문제 한눈에 보기

서로 다른 크기의 두 돌무더기에서 한 번에 한 무더기만 골라 원하는 만큼 가져가고, 마지막 돌을 가져가는 사람이 이기는 게임입니다.

항상 A 승리

핵심 개념

두 무더기 님게임의 패배 상태는 두 무더기 크기가 같을 때뿐입니다.

왜 이 생각을 먼저 해야 하는지

문제에서 이 서로 다른 양의 정수라고 했으므로 시작부터 패배 상태가 아닙니다.

단계별 풀이

  1. 두 무더기의 개수가 같으면, 상대가 한쪽에서 뺀 만큼 다른 쪽에서 따라 하며 이길 수 있습니다.
  2. 따라서 같은 상태는 현재 차례인 사람에게 불리한 패배 상태입니다.
  3. 지금은 이므로 더 큰 무더기에서 돌을 빼 두 무더기를 같게 만들 수 있습니다.
  4. 그러면 상대에게 패배 상태를 넘기게 되므로 A가 항상 이깁니다.

헷갈리기 쉬운 점

마지막 돌을 가져가는 사람이 지는 게임이 아니라, 이 문제는 마지막 돌을 가져가는 사람이 이기는 게임입니다.

13. 원형 자리배치

문제 한눈에 보기

8명이 원형으로 앉을 때 주어진 조건을 모두 만족하는 배치를 찾는 문제입니다.

A를 맨 위에 두면 시계 방향으로 C, F, B, D, E, H, G

핵심 개념

서로 붙어야 하는 사람과 절대 붙으면 안 되는 사람을 먼저 고정해야 합니다.

왜 이 생각을 먼저 해야 하는지

AD는 맞은편, ED의 왼쪽 옆, HGE 사이처럼 강한 조건들이 많아 순서가 거의 정해집니다.

단계별 풀이

  1. A의 맞은편에 D를 둡니다.
  2. ED의 왼쪽 옆이어야 하므로 D 바로 옆 자리가 즉시 정해집니다.
  3. HGE 사이에 있어야 하므로 E-H-G가 한 덩어리가 됩니다.
  4. GC 사이에는 한 사람이 있어야 하고, FAD 옆에 올 수 없으므로 남은 자리를 채우면 배치가 하나로 정해집니다.

헷갈리기 쉬운 점

원형 문제에서는 “왼쪽” 방향과 “맞은편” 위치를 먼저 정확히 잡지 않으면 중간에 꼬이기 쉽습니다.

14. 바람막이 설치

문제 한눈에 보기

폭 5m인 바람막이로 채소가 있는 이랑을 모두 덮을 때 필요한 최소 개수를 구하는 문제입니다.

핵심 개념

길이 5의 구간 덮기 문제이므로, 아직 덮이지 않은 가장 왼쪽 채소를 기준으로 greedy하게 잡는 것이 자연스럽습니다.

왜 이 생각을 먼저 해야 하는지

같은 개수로 더 많이 덮으려면 매번 바람막이를 가능한 한 멀리까지 보내야 합니다.

단계별 풀이

  1. 아직 덮이지 않은 가장 왼쪽 채소 이랑을 찾습니다.
  2. 그 이랑을 포함하면서 가장 오른쪽까지 덮을 수 있는 길이 5 구간을 놓습니다.
  3. 같은 과정을 반복하면 공식 정답 화면처럼 총 개로 모두 덮을 수 있습니다.
  4. 개로는 빈 구간을 메우지 못해 한 군데 이상이 반드시 남습니다.

헷갈리기 쉬운 점

가운데 이랑을 클릭한다고 해서 중심만 보는 것이 아니라, 실제로는 좌우 2칸씩 총 5칸을 덮습니다.

15. 로봇 작업표

문제 한눈에 보기

세 로봇 A, B, C의 작업/점검 규칙을 만족하도록 월요일부터 금요일까지 작업표를 완성하는 문제입니다.

월: A,C / 화: C / 수: A,B,C / 목: A / 금: 없음

핵심 개념

B가 일하면 그날 C도 일해야 하고, 그 다음 날 C는 쉴 수밖에 없다는 연쇄 조건이 핵심입니다.

왜 이 생각을 먼저 해야 하는지

가장 제약이 강한 로봇은 B라서, B가 들어가는 날을 먼저 정하면 나머지 날이 연달아 정리됩니다.

단계별 풀이

  1. 수요일은 3대가 모두 작업해야 하므로 A, B, C가 모두 일해야 합니다.
  2. 그러면 목요일에는 B 다음 날이므로 C가 일할 수 없고, 1대만 일해야 하므로 A만 가능합니다.
  3. 화요일은 1대만 작업하는 날인데, 월요일에 A가 일하면 화요일 B는 못 일하므로 C가 들어갑니다.
  4. 월요일 2대는 이를 만족하도록 A, C가 되고, 금요일 0대는 아무도 작업하지 않으면 됩니다.

헷갈리기 쉬운 점

로봇은 항상 작업 중이거나 점검 중이므로, “빈칸”은 쉬는 게 아니라 점검 상태라는 뜻입니다.

16. 배달 경로

문제 한눈에 보기

한 장소를 두 번 이상 방문하지 않으면서 8개 장소를 모두 지나는 최소 비용 경로를 찾는 문제입니다.

핵심 개념

그래프가 사실상 한 줄로 이어진 구조라서 가능한 경로가 거의 하나로 정해집니다.

왜 이 생각을 먼저 해야 하는지

차수 1인 끝점들이 보이면, 해밀턴 경로는 그 끝점에서 시작하거나 끝나야 한다는 사실을 바로 쓸 수 있습니다.

단계별 풀이

  1. 그림의 도로를 보면 각 장소가 한 줄 사슬처럼 연결되어 있습니다.
  2. 한 번도 되돌아가지 않으려면 결국 한쪽 끝에서 다른 끝까지 모든 도로를 한 번씩 따라가야 합니다.
  3. 비용은 입니다.
  4. 따라서 최소 비용은 입니다.

헷갈리기 쉬운 점

시작점과 끝점은 자유롭지만, 한 장소를 두 번 이상 방문할 수 없다는 조건이 경로를 사실상 고정합니다.

17. 최소 교환 정렬

문제 한눈에 보기

임의의 두 원소를 서로 바꿀 수 있을 때, 주어진 배열을 오름차순으로 정렬하는 최소 교환 횟수를 찾는 문제입니다.

핵심 개념

최소 교환 횟수는 정렬 전후 대응을 사이클로 나눴을 때 각 사이클 길이의 씩 더한 값입니다.

왜 이 생각을 먼저 해야 하는지

직접 이것저것 바꿔 보기보다, “제자리에 없는 원소들이 몇 개의 순환을 이루는가”를 보면 최소 횟수가 바로 나옵니다.

단계별 풀이

  1. 각 원소를 정렬 뒤 위치와 연결하면 몇 개의 순환 구조로 나눌 수 있습니다.
  2. 길이가 인 순환 하나를 바로잡는 최소 교환 수는 입니다.
  3. 공식 정답 화면은 총 번의 교환으로 정렬을 완성했고, 이 값이 최소입니다.

헷갈리기 쉬운 점

인접하지 않은 원소도 바꿀 수 있으므로 버블 정렬 횟수와는 전혀 다른 문제입니다.

18. 로봇 자동차 주차

문제 한눈에 보기

주차장 안의 다른 자동차를 조금씩 움직여 가며 빨간 자동차를 출구까지 보내는 데 필요한 최소 명령 수를 구하는 문제입니다.

핵심 개념

빨간 자동차의 최단 경로 길이와, 그 경로를 비우는 데 필요한 보조 이동 수를 따로 세면 됩니다.

왜 이 생각을 먼저 해야 하는지

직접 명령을 나열하다 보면 중복 이동이 생기기 쉬워서, 먼저 “빨간 차 자체의 이동 최소”와 “방해물 치우기 최소”를 분리해야 합니다.

단계별 풀이

  1. 공식 설명에 따르면 빨간 자동차가 초록 경로를 따라 출구까지 가는 데 기본적으로 개의 명령이 필요합니다.
  2. 그 경로를 비우기 위해 다른 자동차 3대를 각각 한 칸씩 치워야 합니다.
  3. 따라서 전체 최소 명령 수는 입니다.

헷갈리기 쉬운 점

빨간 자동차 경로만 짧다고 끝이 아닙니다. 막고 있는 차를 치우는 비용까지 포함해야 합니다.

19. 가장 작은 수 만들기

문제 한눈에 보기

숫자 블록을 하나씩 꺼내 왼쪽 끝이나 오른쪽 끝에 붙여 최종 수를 만들 때, 가장 작은 수를 만드는 문제입니다.

핵심 개념

앞자리가 작아질수록 전체 수가 더 크게 유리하므로, 현재 블록을 어느 쪽에 붙일지가 접두사 비교 문제로 바뀝니다.

왜 이 생각을 먼저 해야 하는지

같은 숫자를 뒤에 작게 만드는 것보다, 앞쪽 자리를 더 작게 만드는 것이 훨씬 중요합니다.

단계별 풀이

  1. 맨 위 블록부터 순서대로 보면서 왼쪽에 둘지 오른쪽에 둘지 결정합니다.
  2. 매번 현재까지 만든 수의 앞부분이 더 작아지도록 선택하면 전체 수가 최소가 됩니다.
  3. 공식 정답 화면의 최종 결과는 입니다.

헷갈리기 쉬운 점

지금 당장 작은 자리에만 넣는 것이 아니라, 최종 앞자리들이 어떻게 보일지를 함께 비교해야 합니다.

20. 숨은 순열 찾기

문제 한눈에 보기

서로 다른 두 칸을 바꿀 때마다 “차이의 합”을 알려 주는 장치를 이용해 숨은 순열을 복원하는 문제입니다.

4 3 7 1 9 8 5 6 10 2 11

핵심 개념

교환 전후 차이의 합이 얼마나 늘고 줄어드는지 보면, 바꾼 두 위치의 실제 값을 역으로 추론할 수 있습니다.

왜 이 생각을 먼저 해야 하는지

순열 자체는 보이지 않지만, 교환에 따른 총 오차 변화는 많은 정보를 담고 있어서 위치별 값을 하나씩 확정할 수 있습니다.

단계별 풀이

  1. 시작 순열을 하나 정해 놓고, 두 원소를 바꿀 때 차이의 합이 얼마나 변하는지 관찰합니다.
  2. 변화량이 큰 위치부터 실제 값 후보를 좁히면 각 칸의 숫자를 순서대로 확정할 수 있습니다.
  3. 공식 정답 화면에서 복원된 순열은 4 3 7 1 9 8 5 6 10 2 11입니다.

헷갈리기 쉬운 점

차이의 합은 전체 합이므로, 한 번의 교환이 영향을 주는 칸은 바꾼 두 칸뿐이라는 점을 이용해야 합니다.

개념 한눈에 보기

주제해당 문제한 줄 요약
나머지와 주기1, 4, 9큰 수는 직접 계산하지 말고 주기와 연속 도달 구간을 찾는다.
그래프와 차수2, 13, 16연결 수와 배치 조건을 그래프처럼 보면 모순과 강제 위치가 드러난다.
경우의 수3, 10, 11게임 종료 시점과 접두사 개수, DP를 이용해 빠르게 센다.
논리 퍼즐5, 6, 8참거짓과 개수 보존을 식으로 세우면 답이 고정된다.
최적 이동7, 14, 18전체 시간을 줄이려면 셔틀, 그리디, 방해물 제거 비용을 함께 본다.
게임 전략12, 20상대에게 불리한 상태를 넘기는 것이 핵심이다.
구성형15, 17, 19정답 배치 하나를 찾되, 왜 최소인지까지 같이 확인해야 한다.