본문 바로가기
알고리즘 설명/정보올림피아드 필기

2025년 정보올림피아드 필기 중등부(6 ~ 10)

by 다빈치코딩 2026. 5. 2.

목차

    반응형

    2025년도 정보올림피아드 1차대회 필기 중등부 6번부터 10번까지 문제 풀이 입니다.

     

    6번. 숫자 제거

     

    2025년도 초등부 10번 문제와 같습니다. 아래 링크에서 문제 확인 바랍니다.

    https://davincicoding.tistory.com/203

     

    2025년 정보올림피아드 필기 초등부(6 ~ 10)

    2025년도 정보올림피아드 1차대회 필기 초등부 6번부터 10번까지 문제 풀이 입니다. 6번먼저 묶어서 사는 것이 더 싼것이 맞는지 확인해 보겠습니다.사탕 4개는 1300원이기 때문에 개당 325원 입니다

    davincicoding.co.kr

     

    7번. 나머지 만들기

    2025년도 초등부 11번 문제와 같습니다. 아래 링크에서 문제 확인 바랍니다.

    https://davincicoding.tistory.com/204

     

    2025년 정보올림피아드 필기 초등부(11 ~ 15)

    2025년도 정보올림피아드 1차대회 필기 초등부 11번부터 15번까지 문제 풀이 입니다. 11번간단한 수학 문제 입니다. 위 식들은 다음과 같이 나타낼 수 있습니다.341 = n * x + 5 → 336 = n * x508 = n * y + 4

    davincicoding.co.kr

     

    8번. 19단의 자리수

    2025년도 초등부 12번 문제와 같습니다. 아래 링크에서 문제 확인 바랍니다.

    https://davincicoding.tistory.com/204

     

    2025년 정보올림피아드 필기 초등부(11 ~ 15)

    2025년도 정보올림피아드 1차대회 필기 초등부 11번부터 15번까지 문제 풀이 입니다. 11번간단한 수학 문제 입니다. 위 식들은 다음과 같이 나타낼 수 있습니다.341 = n * x + 5 → 336 = n * x508 = n * y + 4

    davincicoding.co.kr

     

    9번

    A, B, C 를 모두 고려하면 너무 복잡해 집니다. C는 없다고 생각하고 7명이 아니라 0명부터 7명까지 A, B만 고른다고 생각하면 조금 더 쉽게 문제를 해결 할 수 있습니다. 즉 A, B를 고르지 않은 모든 사람은 C를 골랐다고 생각하면 됩니다.

     

    그럼 A, B 둘 중에 누군가가 득표수가 많은 경우는 똑같습니다. A가 이기는 경우와 B가 지는 경우가 같고, B가 이기는 경우와 A가 지는 경우는 똑같기 때문 입니다. 따라서 우리는 비기는 경우만 알 수 있다면 그 결과를 2로 나누면 A가 이기는 경우가 됩니다. 또는 B가 이기는 경우가 되는 것입니다.

     

    그럼 이제 비기는 경우를 생각해 보겠습니다.

    A, B 모두 0표를 받는 경우 입니다. 이 경우는 1가지 입니다. 투표를 하는데 0표가 나올 수 없다고 생각할 수 있지만 이 경우는 모두가 C에게 투표한 것입니다.

     

    다음으로 A, B 모두 1표를 받는 경우 입니다. 조합 공식으로 쉽게 확인할 수 있습니다.

    $$ _7C_1 \times _6C_1 = 42 $$

    둘 다 2표를 받는 경우 입니다.

    $$ _7C_2 \times _5C_2 = 21 \times 10 = 210 $$

    둘 다 3표를 받는 경우 입니다.

    $$ _7C_3 \times _4C_3 = 35 \times 4 = 140 $$

    둘 다 4표를 받을 수는 없습니다. 따라서 A, B가 비기는 경우는 1 + 42 + 210 + 140 으로 393 입니다.

    전체 경우의 수인 $3^7 = 2,187$ 이고, 여기서 393 을 빼면 2187 - 393 = 1794 입니다.

     

    A가 이기는 경우나 B가 이기는 경우는 1794이고, 이 값을 2로 나누면 897이 됩니다.

     

    10번

     

    버블 정렬은 두 수를 순서대로 오름차순으로 정렬하는 방식입니다. 그리고 한 번만 하는 것이 아니라 전체가 정렬될때 까지 계속 반복합니다.

     

    하지만 이 문제에 있는 버블 패스는 버블 정렬을 두 수로 하는 것이 아니라, 세 수로 진행하는 것입니다. 그리고 단 한 번만 하고 끝입니다. 즉 세 개의 수를 버블 정렬 하는 방식으로 한 번에 정렬이 가능하도록 만들어야 합니다.

     

     

    버블 패스를 하는 순서를 빨, 주, 노, 초, 파, 남색으로 표현 하였습니다.

     

    1의 위치는 빨간색안에 들어가 있어야 f(p) 가 위에서 원하는 형태가 가능 합니다. 쉽게 4의 위치에 1이 있다고 생각하고 버블 패스를 실행하면 절대 맨 앞으로 올 수 없습니다. 즉 1은 3개의 위치에 가능 합니다.

     

    2는 빨간색, 주황색 범위안에 있어야 합니다. 총 4개의 자리이지만 앞에서 1이 선점하고 있어 가능한 자리는 3자리 입니다.

     

    3은 빨, 주, 노 의 범위 안에 있어야 합니다. 총 5개의 자리이지만 앞에서 1, 2가 선점하고 있어 가능한 자리는 3자리 입니다.

     

    4는 빨, 주, 노, 초의 범위 안에 있어야 합니다. 위와 같은 이유로 3자리가 가능 합니다.

     

    5, 6 역시 3자리씩 가능합니다.

     

    7은 숫자가 8까지 밖에 없기 때문에 두 자리만 가능 합니다.

     

    8은 이미 모든 자리가 정해져 있기 때문에 한 자리만 가능 합니다.

     

    이 모든 경우의 수를 계산해보면 3 * 3 * 3 * 3 * 3 * 3 * 2 로 1458 입니다.

    반응형