반응형 20247 2024년 정보올림피아드 필기 초등부(16 ~ 20) 2024년도 정보올림피아드 1차대회 필기 초등부 16번부터 20번까지 문제 풀이 입니다.16번 맨 위에 있는 8을 시작으로 왼쪽 자식과 오른쪽 자식의 값을 비교해서 왼쪽 자식, 자신, 오른쪽 자식의 크기가 아래와 같은 등호를 만족하도록 만들면 됩니다.왼쪽 자식 가운데는 이미 3개의 숫자 중 중간 값이기 때문에 왼쪽 자식과 오른쪽 자식의 관계만 정해주면 됩니다.왼쪽 자식 17번 양쪽 끝의 숫자를 확인해서 더 큰 숫자를 클릭해서 빼주면 됩니다. 만약 두 수가 같다면 다음 숫자들이 큰 숫자를 먼저 빼면 됩니다. 18번 작은 숫자부터 시작합니다. 길이가 2인 것부터 시작해서 길이 5까지 만들어 나갑니다. 이 때 다른 이진 코드의 접두사가 되지 않게 만들어야 합니다.혼란스럽지 않게 규칙적으로 진행해야 합니다... 2025. 3. 27. 2024년 정보올림피아드 필기 초등부(11 ~ 15) 2024년도 정보올림피아드 1차대회 필기 초등부 11번부터 15번까지 문제 풀이 입니다. 11번 인버전의 개수라는 용어에서 Inversion Counting 알고리즘이 생각나야 합니다. 이 알고리즘은 역순으로 되어 있는 순서쌍의 개수를 세는 알고리즘입니다. 자세한 설명은 아래 링크 확인 바랍니다.https://davincicoding.tistory.com/22 Inversion Counting 알고리즘Inversion Counting 이란? Inversion Counting 이란 역순으로 되어 있는 순서쌍의 개수를 세는 유명한 알고리즘 입니다. 쉽게 예를 들면 아래와 같은 숫자가 있습니다. 3 2 5 4 1 이렇게 5개의 숫자가 있습니다davincicoding.co.kr 이 문제에서는 어떻게 사용되는지 .. 2025. 3. 21. 2024년 정보올림피아드 필기 초등부(6 ~ 10) 2024년도 정보올림피아드 1차대회 필기 초등부 6번부터 10번까지 문제 풀이 입니다. 6번 205명이 3명의 후보에게 투표할 수 있기 때문에 3으로 나눠보면 68명씩 투표할 수 있고 1명이 남게 됩니다. 즉 A, B, C가 68표씩 득표 했다면 지금까지 204명이 투표를 한 것이고, 이제 마지막 한 명을 얻으면 득표수와 무관하게 반드시 당선이 되게 됩니다. 결국 최소 69표를 얻으면 당선이 됩니다.만약 A가 69표를 얻었다면 B나 C가 1등이 되더라도 2등으로 당선이 됩니다. B가 69표를 얻는다고 하더라도 C는 최대 67표를 얻기 때문에 공동 1등으로 당선이 됩니다. 다른 어떤 경우에도 A는 69표만 있으면 당선이 가능하게 됩니다. 7번 그래프를 보면 왠지 가운데에 위치하고 있는 B가 중심이 되어야 .. 2025. 3. 19. 2024년 정보올림피아드 필기 초등부(1 ~ 5) 2024년도 정보올림피아드 1차대회 필기 초등부 1번부터 5번까지 문제 풀이 입니다. 1번지하철은 오전 6시부터 7분마다 출발하기 때문에 7의 배수인 값을 찾으면 됩니다.1번 오전 10시는 오전 6시부터 4시간 뒤이기 때문에 240분 입니다. 240은 7의 배수가 아니기 때문에 답이 아닙니다.2번 오후 12시 4분은 오전 6시부터 6시간 4분 입니다. 364분은 7의 배수이기 때문에 2번이 정답이 됩니다.2번이 답이긴 하지만 나머지도 확인해 보겠습니다.3번 오후 1시 3분은 423분으로 7의 배수가 아닙니다.4번 오후 4시 33분은 633분으로 7의 배수가 아닙니다.5번 오후 11시 11분은 1031분으로 7의 배수가 아닙니다. 2번1부터 차례대로 계산하면 결과를 얻을 수 있습니다.x가 1일 경우를 생각.. 2025. 3. 17. [백준 32068] 보물 찾기 문제 출처 : https://www.acmicpc.net/problem/32068보물 찾기(32068)이 문제는 2024 정보올림피아드 2차 초등부 1번 문제 입니다.문제 이해하기S를 중심으로 양쪽으로 한 칸씩 이동하면서 어느쪽 물건을 먼저 찾는지 확인하는 것이 문제입니다. 어렵게 왔다 갔다 하면서 시뮬레이션해야 하는 것 처럼 보이지만 사실 양쪽의 거리만 알면 수학적으로 쉽게 해결 가능합니다.그래도 일단은 문제에서 요구하는대로 풀어보고, 다음으로 수학적으로 풀어보겠습니다.코드 작성하기그럼 코드를 작성해 보겠습니다.입력 받기T = int(input())for _ in range(T): L, R, S = map(int, input().split()) print(solve(L, R, S))먼저 테스.. 2024. 11. 13. [백준 31964] 반품 회수 반품 회수(31964)문제 출처 : https://www.acmicpc.net/problem/31964 이 문제는 2024년 정보 올림피아드 초등부 3번, 고등부 1번 문제 입니다.문제 이해하기N개의 집을 방문해서 반품을 회수하는데 걸리는 최소 시간을 구하는 문제 입니다. 각 집마다 물건을 내놓는 시간이 다르기 때문에 그 시간에 맞춰 잘 회수해야 합니다. 이 때 내놓은 물건을 빠르게 회수하는 것이 목적이 아니라 다시 택배 물건을 회수해서 빠르게 돌아오는 시간을 구해야 한다는 것이 핵심 입니다. 즉 물건을 언제 회수 하느냐는 문제가 아닙니다.우리가 알 수 있는 것은 물건을 시각 0에 모두 내어 놓아도 택배 트럭이 왔다 갔다 하는 시간만큼은 줄일 수 없습니다. N개의 집이 있기 때문에 N번 집까지 가는데 시.. 2024. 11. 12. [백준 32069] 가로등 이 문제는 2024년 정보올림피아드 2차 대회 초등부 2번, 중등부 1번, 고등부 1번으로 출제된 문제 입니다. 문제 출처 : https://www.acmicpc.net/problem/32069 가로등이 있는 위치의 어두운 정도를 0으로 하고 거리가 1씩 늘어날 때마다 어두운 정도가 1씩 늘어납니다. 이렇게 모든 위치의 어두운 정도를 구한 다음 K 번째 까지의 어두운 정도를 출력하면 됩니다.가로등의 위치에서 1씩 멀어질 때마다 어두운 정도 1을 더해주어 각 위치의 어두운 정도를 구하면 됩니다. 이렇게 거리가 1씩 늘어날 때마다 1을 더해주는 형태의 문제는 BFS로 쉽게 해결할 수 있습니다. 하지만 문제가 BFS 형태가 아닌것 같다는 것이 문제가 됩니다. 가장 큰 문제는 숫자의 범위라 할 수 있는 L의 크.. 2024. 10. 3. 이전 1 다음 반응형