2024 KOI 1교시 초등부 풀이 정리
이 문서는 2024 - 초등부 기출문제를 바탕으로, 초등학생도 따라갈 수 있게 쉬운 말로 다시 쓴 학습용 풀이 노트입니다. 원본이 해설 PDF이므로, 공식 힌트를 살리되 설명은 더 짧고 쉽게 다시 정리했습니다.
1. 배차 간격
문제 한눈에 보기
지하철이 오전 6시 0분부터 7분마다 출발합니다. 보기 중 실제 출발 시각을 찾는 문제입니다.
답
오후 12시 4분
핵심 개념
출발 시각은 6시 0분 + 7분 × 어떤 수 꼴입니다.
왜 이 생각을 먼저 해야 하는지
7분마다 반복이므로, 기준 시각에서 몇 분 차이 나는지만 보면 됩니다.
단계별 풀이
- 오전 6시 0분에서 오후 12시 4분까지는
6시간 4분 = 364분입니다. - 이므로 딱 7분 간격에 맞습니다.
- 따라서 이 시각은 실제 출발 시각입니다.
헷갈리기 쉬운 점
시와 분을 따로 보지 말고, 전체 몇 분 차이인지로 바꿔야 쉽습니다.
2. 두 개씩 곱하기
문제 한눈에 보기
에서 서로 다른 두 수를 골라 곱한 값들을 전부 더하는 문제입니다.
답
핵심 개념
를 쓰면 두 수의 곱이 한꺼번에 나타납니다.
왜 이 생각을 먼저 해야 하는지
두 수씩 하나하나 곱하면 오래 걸리지만, 제곱식을 쓰면 한 번에 정리됩니다.
단계별 풀이
- 전체 합은 입니다.
- 입니다.
- 그런데 이 안에는 도 들어 있습니다.
- 제곱들의 합은 입니다.
- 따라서 서로 다른 두 수의 곱이 두 번씩 들어간 합은 입니다.
- 우리가 원하는 값은 그 절반이므로 입니다.
헷갈리기 쉬운 점
에서는 ab와 ba가 둘 다 들어가므로 마지막에 로 나누어야 합니다.
3. 덧셈과 뺄셈
문제 한눈에 보기
가 되도록 +와 -를 넣는 경우의 수를 구하는 문제입니다.
답
핵심 개념
빼는 수들의 합을 먼저 생각하면 됩니다.
왜 이 생각을 먼저 해야 하는지
처음 전부 더한 값에서 무엇을 뺄지만 정하면 식이 바로 정리됩니다.
단계별 풀이
- 숫자를 모두 더하면 입니다.
- 어떤 수들을
-로 바꾸면, 그 수들은 한 번 더 빼지게 됩니다. - 따라서 최종값은 입니다.
- 이것이 가 되어야 하므로
- 입니다.
- 이제 중 합이 9가 되는 부분집합 개수를 세면 가지입니다.
헷갈리기 쉬운 점
-를 붙인 수는 원래 더해졌던 것을 다시 빼는 것이므로 2배가 빠집니다.
4. 10명의 대결
문제 한눈에 보기
10명이 있고, 3패하면 탈락합니다. 우승자가 정해질 때까지 필요한 대결 횟수의 최댓값과 최솟값의 합을 구하는 문제입니다.
답
핵심 개념
한 경기에서는 패배 1개가 생깁니다.
왜 이 생각을 먼저 해야 하는지
탈락 규칙은 패이므로, 결국 전체 경기 수는 전체 패배 수를 세면 됩니다.
단계별 풀이
- 우승자 말고 나머지 9명은 모두 탈락해야 합니다.
- 탈락한 사람은 모두 정확히 패를 가져야 하므로, 이 9명이 만드는 패배 수는 입니다.
- 우승자가 한 번도 지지 않으면 경기 수는 최소 번입니다.
- 우승자도 패까지는 버틸 수 있으므로, 가장 길게 끌면 우승자도 패를 가질 수 있습니다.
- 그러면 경기 수는 최대 번입니다.
- 합은 입니다.
헷갈리기 쉬운 점
우승자는 3패만 아니면 되므로, 꼭 0패일 필요는 없습니다.
5. 진법 변환
문제 한눈에 보기
16진수 A6E4F3을 8진수로 바꾸었을 때, 나타나는 숫자들의 합을 구하는 문제입니다.
답
핵심 개념
16진수는 먼저 2진수로, 그다음 3자리씩 끊어 8진수로 바꾸면 쉽습니다.
왜 이 생각을 먼저 해야 하는지
16진수 한 자리는 2진수 4자리와 정확히 맞고, 8진수 한 자리는 2진수 3자리와 정확히 맞습니다.
단계별 풀이
A6E4F3을 2진수로 바꾸면- , , , , ,
- 그래서 전체는 입니다.
- 앞에서부터 3자리씩 끊으면
010 100 110 111 001 001 111 011입니다. - 이것을 8진수로 바꾸면 입니다.
- 각 자리의 합은 입니다.
헷갈리기 쉬운 점
맨 앞 자리가 3자리로 딱 안 맞으면 왼쪽에 을 붙여도 값은 같습니다.
6. 선거
문제 한눈에 보기
205명이 투표합니다. 어떤 후보가 다른 사람 표와 상관없이 무조건 당선되려면 최소 몇 표가 필요한지 구하는 문제입니다.
답
핵심 개념
가장 나쁜 경우를 생각해야 합니다.
왜 이 생각을 먼저 해야 하는지
무조건 당선은 운 좋은 경우가 아니라, 상대들이 가장 불리하게 표를 나눠도 살아남는다는 뜻입니다.
단계별 풀이
- 어떤 후보가 표를 얻었다고 해 봅시다.
- 그러면 나머지 표를 다른 두 후보가
69표, 68표로 나눌 수 있습니다. - 이 경우 이 되는데, 2등이 두 명이라서 1등만 당선됩니다.
- 즉, 표는 부족합니다.
- 이제 표를 얻었다고 해 봅시다.
- 나머지는 표입니다.
- 두 후보가 모두
69표 이상을 받으려면 적어도 표가 필요하므로 불가능합니다. - 따라서 표를 얻으면 반드시 당선됩니다.
헷갈리기 쉬운 점
이 문제는 2등이 둘이면 둘 다 당선이 아니라 1등만 당선입니다. 이 규칙이 핵심입니다.
7. 그래프의 중심

문제 한눈에 보기
어떤 정점에서 시작해 2개 이하의 간선만 따라가도 모든 정점에 갈 수 있으면 중심 정점입니다. 이 그래프에 중심 정점이 생기게 하려면 간선을 몇 개 더해야 하는지 묻는 문제입니다.
답
개
핵심 개념
어느 정점을 중심으로 만들지 먼저 정하면 됩니다.
왜 이 생각을 먼저 해야 하는지
무작정 간선을 추가하기보다, “이 정점을 중심으로 만들자” 하고 보면 필요한 간선이 줄어듭니다.
단계별 풀이
- 현재 정점
E는B와F로 갈 수 있습니다. - 또 , 도 가능하므로
A, B, D, F는 2번 안에 갈 수 있습니다. - 부족한 것은
C하나입니다. - 그래서 같은 간선 하나만 더 추가하면,
- 로
C에도 2번 안에 갈 수 있습니다. - 따라서 간선 개만 추가하면 됩니다.
헷갈리기 쉬운 점
중심 정점은 처음부터 있지 않아도 됩니다. 간선을 추가한 뒤에 생기면 됩니다.
8. 가위바위보 이기기
문제 한눈에 보기
로봇은 사람의 지금까지 선택을 보고 다음 모양을 정합니다. 8번 모두 이기도록 내가 낼 모양의 문자열을 구하는 문제입니다.
답
핵심 개념
한 판씩 시뮬레이션하면 됩니다.
왜 이 생각을 먼저 해야 하는지
로봇의 다음 행동은 지금까지의 기록만 보면 딱 정해집니다.
단계별 풀이
- 첫 판에서 로봇은 무조건 가위()를 냅니다.
- 이기려면 나는 바위()를 냅니다.
- 그다음부터는 “사람이 가장 많이 낸 모양”을 로봇이 이기는 모양을 냅니다.
- 그래서 매 판마다 로봇이 낼 모양을 계산하고, 그걸 이기는 모양을 내면 됩니다.
- 8판을 따라가면 내가 내야 할 모양은 차례로
- 입니다.
- 따라서 정답 문자열은 입니다.
헷갈리기 쉬운 점
로봇은 내가 지난 판에 낸 것이 아니라 지금까지 가장 많이 낸 것을 기준으로 움직입니다.
9. 징검다리
문제 한눈에 보기
1번 돌에서 시작해서 18번 돌까지 가야 합니다. 한 번에 , , 로 이동할 수 있을 때 최소 이동 횟수를 구하는 문제입니다.
답
핵심 개념
가능한 이동을 직접 짧게 뻗어 보면 됩니다.
왜 이 생각을 먼저 해야 하는지
이동 방법이 세 가지뿐이라, 짧은 경로를 몇 단계만 찾아봐도 답이 드러납니다.
단계별 풀이
- 으로 갈 수 있습니다.
- 로 갈 수 있습니다. ()
- 로 갈 수 있습니다. ()
- 로 갈 수 있습니다. ()
- 로 갈 수 있습니다. ()
- 그래서 로 번 만에 도착합니다.
- 4번 이하로는 도착할 수 없으므로 정답은 입니다.
헷갈리기 쉬운 점
잠깐 멀어져 보여도 괜찮습니다. 에 갔다가 로 오는 것이 더 빠릅니다.
10. 최소 신장 트리

문제 한눈에 보기
주어진 그래프의 최소 신장 트리 가중치의 합을 구하는 문제입니다.
답
핵심 개념
가벼운 간선부터 보되, 사이클이 생기면 건너뛰는 크루스칼 방법을 쓰면 됩니다.
왜 이 생각을 먼저 해야 하는지
최소 신장 트리는 “가장 가벼운 간선을 최대한 많이 쓰는 것”과 거의 같습니다. 다만 원이 생기면 안 됩니다.
단계별 풀이
- 가중치가 작은 순서대로 간선을 봅니다.
- , , , 는 모두 넣어도 괜찮습니다.
- 를 넣으면 원이 생기므로 건너뜁니다.
- 다음 는 넣습니다.
- 는 원이 생기므로 건너뜁니다.
- 를 넣으면 모든 정점이 연결됩니다.
- 합은 입니다.
헷갈리기 쉬운 점
가벼운 간선이라도 원이 생기면 넣으면 안 됩니다.
11. 인버전의 개수
문제 한눈에 보기
각 자리 앞쪽에 자기보다 큰 수가 몇 개 있는지가 주어질 때, 원래 순열을 찾는 문제입니다.
답
핵심 개념
뒤에서부터 숫자를 하나씩 정하면 쉽습니다.
왜 이 생각을 먼저 해야 하는지
앞에서부터 정하면 아직 안 놓은 큰 수가 몇 개인지 헷갈리지만, 뒤에서부터는 남은 숫자만 보면 됩니다.
단계별 풀이
- 아직 쓰지 않은 숫자를 작은 것부터 적어 둡니다.
- 맨 뒤 자리
a8는 이므로, 남은 수 중4번째로 큰 수입니다. - 이렇게
ci를 보고ci+1번째로 큰 수를 뒤에서부터 고르면 됩니다. - 차례대로 하면
- 가 됩니다.
- 따라서 순열은
4 3 7 2 8 1 6 5입니다. - 이어 붙이면 입니다.
헷갈리기 쉬운 점
ci는 “뒤에서 큰 수 개수”가 아니라 “앞에서 큰 수 개수”입니다. 그래서 뒤에서부터 푸는 것이 편합니다.
12. 화살표 따라가기

문제 한눈에 보기
모든 정점에서 화살표가 하나씩 나가는 그래프에서 번 이동한 뒤 도착점이 또는 인 시작점 번호의 합을 구하는 문제입니다.
답
핵심 개념
이 그래프에는 길이 5의 순환이 있습니다.
왜 이 생각을 먼저 해야 하는지
오래 많이 이동하는 문제는 보통 사이클을 찾으면 쉬워집니다.
단계별 풀이
- 그림을 보면 라는 길이 5의 순환이 있습니다.
- 이므로, 순환 안에 들어간 뒤에는
1칸 더 간 것과 같습니다. - 각 시작점에서 화살표를 따라가며 이 순환에 언제 들어가는지 보면 됩니다.
- 계산해 보면 조건을 만족하는 시작점은
- 입니다.
- 합은 입니다.
헷갈리기 쉬운 점
번을 전부 직접 세기보다, 사이클 길이로 나눈 나머지를 보는 것이 핵심입니다.
13. 과일

문제 한눈에 보기
0에서 출발해 21번 안에 움직이며 과일을 최대한 많이 먹는 문제입니다. 방향은 한 번만 바꿔도 됩니다.
답
최대 개이고, 한 가지 방법은 왼쪽으로 6번 간 뒤 오른쪽으로 15번 가는 것입니다.
핵심 개념
방향을 한 번만 바꿀 수 있으므로, 결국 한 구간을 훑는 문제입니다.
왜 이 생각을 먼저 해야 하는지
왔다 갔다 여러 번 할 수 없으니, “어디까지 갔다가 되돌아올까?”만 정하면 됩니다.
단계별 풀이
- 왼쪽 과일과 오른쪽 과일의 위치를 같이 봅니다.
- 너무 왼쪽으로 멀리 가면 오른쪽 과일을 놓치고, 너무 오른쪽으로만 가도 왼쪽 과일을 놓칩니다.
- 해설 그림의 예시처럼
왼쪽으로 6칸간 다음오른쪽으로 15칸가면 과일 개를 먹을 수 있습니다. - 이보다 더 많이 먹으려면 양쪽 끝을 더 넓게 훑어야 하는데, 21번 안에는 불가능합니다.
- 따라서 최댓값은 입니다.
헷갈리기 쉬운 점
과일은 지나가기만 해도 먹습니다. 그 자리에 멈출 필요는 없습니다.
14. 스탬프

문제 한눈에 보기
정해진 모양의 스탬프를 여러 번 찍어서 모든 칸의 숫자를 0으로 만드는 문제입니다.
답
정답은 하나가 아닙니다. 왼쪽에서 오른쪽, 위에서 아래 순서로 각 칸을 가능한 만큼 누르면 해결됩니다.
핵심 개념
이미 지나간 칸은 다시 건드리지 않는 방식으로 풀 수 있습니다.
왜 이 생각을 먼저 해야 하는지
왼쪽 위부터 차례로 맞춰 가면, 나중에 앞칸이 다시 틀어지는 일이 없습니다.
단계별 풀이
- 스탬프의 가운데를 어떤 칸에 놓으면, 그 칸 주변 몇 칸의 숫자가 같이 1씩 줄어듭니다.
- 맨 위 줄부터 보며, 아직 0이 아닌 칸이 있으면 그 칸을 없애는 방향으로 스탬프를 찍습니다.
- 이렇게
왼쪽 -> 오른쪽,위 -> 아래순서로 진행하면 앞에서 맞춘 칸은 다시 틀어지지 않습니다. - 해설 PDF도 이 순서로 충분하다고 설명합니다.
- 끝까지 가면 모든 칸을 0으로 만들 수 있습니다.
헷갈리기 쉬운 점
스탬프는 뒤집거나 돌릴 수 없습니다. 항상 같은 모양 그대로 써야 합니다.
15. 제자리

문제 한눈에 보기
제자리에 있는 카드 중 하나를 맨 앞으로 보내는 일을 반복할 때, 이동 횟수를 최대화하는 문제입니다.
답
최대 이동 횟수는 이고, 움직일 수 있는 카드 중 가장 앞 카드를 계속 고르면 됩니다.
핵심 개념
앞에 있는 카드를 먼저 옮겨야 뒤 카드들도 계속 제자리에 남습니다.
왜 이 생각을 먼저 해야 하는지
뒤쪽 카드를 먼저 옮기면 앞쪽 기회가 금방 사라질 수 있습니다.
단계별 풀이
- 처음에는 이 모두 움직일 수 있습니다.
- 이때 가장 앞의 카드 를 먼저 보냅니다.
- 그다음에도 같은 생각으로
가장 앞의 제자리 카드를 계속 맨 앞으로 보냅니다. - 이렇게 하면 더 많은 카드가 오래 제자리 상태를 유지합니다.
- 해설 그림의 최종 결과는
2 3 4 5 6 1이고, 이동 횟수는 입니다.
헷갈리기 쉬운 점
“숫자가 큰 카드”를 고르는 문제가 아닙니다. 가장 앞에 있는 가능 카드가 중요합니다.
16. 어긋나는 정점

문제 한눈에 보기
왼쪽 자식은 부모보다 작고, 오른쪽 자식은 부모보다 커야 한다는 느낌으로 생각할 때, 어긋나는 간선 수를 최소로 만드는 문제입니다.
답
정답은 하나가 아닙니다. 루트부터 내려가며, 더 잘 맞는 쪽이 되도록 왼쪽 서브트리와 오른쪽 서브트리를 바꾸면 됩니다.
핵심 개념
이 문제는 한 정점씩 독립적으로 더 좋은 방향을 고르면 됩니다.
왜 이 생각을 먼저 해야 하는지
루트 근처에서 잘못 놓이면 아래쪽에서도 계속 어긋남이 생깁니다.
단계별 풀이
- 어떤 정점에서 왼쪽과 오른쪽을 그대로 둘지, 서로 바꿀지 두 경우를 비교합니다.
- 그 정점과 바로 연결된 간선들에서 어느 쪽이 더 어긋남이 적은지 봅니다.
- 더 좋은 쪽을 고른 뒤, 그 아래 자식들도 같은 방법으로 다시 판단합니다.
- 즉, 루트에서 시작해 재귀적으로 내려가면 됩니다.
- 해설 그림의 아래 배치는 이런 방식으로 어긋남을 줄인 한 가지 예시입니다.
헷갈리기 쉬운 점
값 자체를 바꾸는 문제가 아닙니다. 서브트리를 통째로 뒤집는 것만 할 수 있습니다.
17. 큰 수 만들기

문제 한눈에 보기
구슬이 한 줄로 있을 때, 왼쪽 끝이나 오른쪽 끝에서 하나씩 꺼내 가장 큰 수를 만드는 문제입니다.
답
핵심 개념
앞자리가 가장 중요합니다.
왜 이 생각을 먼저 해야 하는지
큰 수 비교는 첫 자리부터 하므로, 매번 “지금 가장 앞에 올 숫자”를 크게 만드는 것이 중요합니다.
단계별 풀이
- 양 끝 숫자를 비교합니다.
- 더 큰 쪽이 있으면 그쪽을 꺼내는 것이 무조건 유리합니다.
- 양 끝이 같으면 안쪽을 더 들여다봐서 어느 쪽이 나중에도 더 큰지 비교합니다.
- 이 규칙으로 끝까지 고르면
- 이 되고, 만들어지는 수는 입니다.
헷갈리기 쉬운 점
지금 숫자만 보고 고르면 안 될 때가 있습니다. 양 끝이 같을 때는 안쪽까지 봐야 합니다.
18. Prefix Code

문제 한눈에 보기
길이가 정해진 8개의 이진 코드를 넣되, 어떤 코드도 다른 코드의 앞부분이 되면 안 되는 문제입니다.
답
한 가지 정답은 다음과 같습니다.
핵심 개념
짧은 코드부터 먼저 정하면 편합니다.
왜 이 생각을 먼저 해야 하는지
짧은 코드가 긴 코드의 앞부분이 될 수 있으므로, 짧은 것을 먼저 안전하게 놓아야 합니다.
단계별 풀이
- 길이 2짜리 둘은 , 처럼 서로 다른 앞부분으로 둡니다.
- 길이 3짜리들은 이 둘로 시작하지 않게 , , 처럼 둡니다.
- 길이 4, 5짜리도 이미 쓴 코드들의 접두사가 되지 않게 , , 처럼 붙입니다.
- 이렇게 하면 어떤 코드도 다른 코드의 앞부분이 되지 않습니다.
- 따라서 위 코드는 조건을 만족하는 한 가지 정답입니다.
헷갈리기 쉬운 점
길이가 다르면 더 조심해야 합니다. 짧은 코드가 긴 코드의 시작 부분이면 바로 탈락입니다.
19. Plus Minus

문제 한눈에 보기
앞에서부터 볼 때 언제나 + 개수 - - 개수가 음수가 되지 않도록, 일부 -를 +로 바꾸는 최소 비용을 찾는 문제입니다.
답
최소 비용은
핵심 개념
처음으로 규칙이 깨지는 자리만 바로 고치면 됩니다.
왜 이 생각을 먼저 해야 하는지
앞부분이 이미 틀렸다면, 그 앞부분 안에 있는 - 중 하나는 반드시 바꿔야 합니다.
단계별 풀이
- 앞에서부터
+는 ,-는 처럼 생각합니다. - 처음으로 합이 음수가 되는 자리를 찾습니다.
- 그러면 그 앞에 있는
-중 하나는 반드시+로 바뀌어야 합니다. - 가장 싸게 고치려면 그 구간 안의
-중 비용이 가장 작은 것을 바꾸면 됩니다. - 다시 같은 작업을 반복하면 됩니다.
- 해설 그림의 최종 최소 비용은 입니다.
헷갈리기 쉬운 점
눈앞의 -만 바꾸는 문제가 아니라, 지금까지 나온 - 중 가장 싼 것을 바꾸는 것이 중요합니다.
20. 식별 코드

문제 한눈에 보기
8명에게 4비트 코드를 하나씩 주되, 코드에서 어느 한 글자를 가려도 원래 주인을 정확히 알아낼 수 있게 해야 하는 문제입니다.
답
한 가지 정답은 다음 8개입니다.
핵심 개념
1의 개수가 짝수인 4비트 코드만 모으면 잘 작동합니다.
왜 이 생각을 먼저 해야 하는지
한 글자를 가려도, 남은 3글자를 보면 빠진 글자가 무엇이었는지 짐작할 수 있어야 합니다.
단계별 풀이
- 위 8개 코드는 모두 의 개수가 짝수입니다.
- 이제 어떤 자리 하나를 가리더라도, 남은 3자리의 개수를 보면 가려진 자리가 인지 인지 알 수 있습니다.
- 그래서 원래 4자리 코드가 무엇이었는지 다시 하나로 정해집니다.
- 해설 그림도 이 코드들을 한 가지 정답 예시로 보여 줍니다.
헷갈리기 쉬운 점
코드가 서로 다르기만 하면 부족합니다. 한 글자를 지운 뒤에도 서로 헷갈리지 않아야 합니다.
개념 한눈에 보기
| 개념 | 나온 문제 | 기억할 말 |
|---|---|---|
| 주기 | 1 | 기준 시각에서 몇 분 차이 나는지 본다. |
| 제곱식 | 2 | 에서 두 수의 곱이 나온다. |
| 부분집합 합 | 3 | 빼는 수들의 합만 세면 된다. |
| 패배 수 세기 | 4 | 경기 수 = 전체 패배 수다. |
| 진법 변환 | 5 | 16진수는 2진수, 2진수는 8진수로 바꾼다. |
| 최악의 경우 | 6 | 반드시 당선은 가장 불리한 표 분배를 이겨야 한다. |
| 중심 정점 | 7 | 어느 정점을 중심으로 만들지 먼저 정한다. |
| 시뮬레이션 | 8 | 한 판씩 따라가면 된다. |
| 최단 경로 | 9 | 멀어져 보여도 더 빠른 길이 있을 수 있다. |
| 크루스칼 | 10 | 가벼운 간선부터, 원이 생기면 건너뛴다. |
| 뒤에서 복원 | 11 | 뒤에서부터 몇 번째로 큰 수인지 본다. |
| 사이클 | 12 | 큰 횟수 이동은 나머지로 바뀐다. |
| 구간 훑기 | 13 | 한 번만 방향을 바꾸니 결국 한 구간을 돈다. |
| 그리디 스캔 | 14 | 왼쪽 위부터 맞춰 나가면 된다. |
| 가장 앞 카드 | 15 | 앞카드를 먼저 옮겨야 오래 버틴다. |
| 재귀적 비교 | 16 | 각 정점에서 더 나은 방향을 고른다. |
| 앞자리 우선 | 17 | 큰 수는 앞자리부터 크게 만들어야 한다. |
| 접두사 금지 | 18 | 짧은 코드부터 안전하게 배치한다. |
| 최소 비용 수정 | 19 | 처음 깨지는 자리 안에서 가장 싼 -를 바꾼다. |
| 짝수 패리티 | 20 | 한 글자를 가려도 원래 코드가 다시 정해진다. |