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

2023년 정보올림피아드 필기 초등부(1 ~ 5)

by 다빈치코딩 2024. 4. 7.

목차

    반응형

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

     

    1번

    직접 시뮬레이션을 통해 왼쪽과 비교하여 더 빠른 경우 속도를 맞춰주면 쉽게 알 수 있습니다.

    초기 속도는 이처럼 표시가 됩니다. 이 후 왼쪽부터 자신의 왼쪽의 속도를 비교하여 자신이 더 빠를 경우 왼쪽과 맞춰주면 몇가지 속도가 나오는지 알 수 있습니다.

    최종적으로 이런 모양이 되며 총 6가지의 속도가 됨을 알 수 있습니다.

     

    2번

    양팔 저울로 구할 수 없는 무게를 찾는 문제 입니다. 이런 문제는 모든 경우의 수를 조합하여 구할 수 없는 무게를 찾아야 합니다. DP의 배낭 문제를 해결하는 방법과 유사합니다.

    먼저 왼쪽에 2kg, 5kg를 넣고 오른쪽에 8kg을 넣습니다. 그럼 왼쪽이 7kg이 되기 때문에 물병을 1kg만 담을 수 있습니다.

    다음으로 6kg은 왼쪽은 2kg과 물병을 넣고, 오른쪽은 8kg을 넣으면 물병 6kg을 채울 수 있습니다.

    11kg은 오른쪽에 2kg과 물병, 오른쪽은 5kg, 8kg을 넣으면 됩니다. 그럼 오른쪽이 13kg이기 때문에 물병에 11kg을 넣었을 때 왼쪽의 2kg과 합쳐져 13kg이 됩니다.

    12kg은 만들 방법이 없기 때문에 4번인 12kg이 정답이 됩니다.

     

    3번

    3명은 항상 진실을 말합니다. 나머지 한 명은 거짓말을 할 수도 있고, 안할수도 있습니다. A부터 D까지 차례로 창문을 깼다고 생각하고 몇명이나 진실을 이야기 하는지 확인하는 방법으로 창문을 깬 사람을 찾을 수 있습니다.

    먼저 A가 창문을 깼다고 생각을 해보겠습니다. 과연 몇명이나 거짓말을 하는지 확인해 보겠습니다.

    A가 창문을 깼기 때문에 A, C가 거짓말을 한것이 됩니다. 3명 이상이 진실을 말하지 않기 때문에 A가 창문을 깬 것이 아닙니다.

    다음으로 B가 창문을 깼다고 생각해 보겠습니다.

    이것 역시 두명의 거짓말이 있기 때문에 B가 창문을 깬 것이 아닙니다.

    다음으로 C가 창문을 깼다고 생각해 보겠습니다.

    마찬가지로 두명이 거짓말을 한 것으로 됩니다. 따라서 C가 창문을 깬 것이 아닙니다.

    마지막으로 D가 창문을 깼다고 생각해 보겠습니다.

    A, B, C 가 참을 말하고 마지막 D만 거짓을 말하고 있습니다. 세명이 진실을 말하고, 한 명은 거짓말을 할 수도 있다는 경우가 성립하게 됩니다. 따라서 D가 창문을 깬것이 맞습니다.

     

    4번

    최소의 봉투로 나누기 위해서는 최대한 건드리지 않는 것이 좋습니다. 문제는 금액이 두 배 이상 차이나서는 안됩니다. 금액을 확인해보니 한 봉투에 3장이 들어 있어 3천원이 있는 경우가 최소 입니다. 즉 나머지 봉투에 6천원 이상이 있으면 안됩니다. 6천원 이상인 봉투는 9장, 8장이 있는 두 곳입니다. 따라서 이 봉투들에서 5천원만 남기고 나머지를 빈 봉투에 옮기면 봉투의 개수는 7개가 됩니다.

     

    5번

    계산을 해도 되지만 경우의 수가 많지 않기 때문에 하나하나 다 해보는 것이 빠르게 해결 할 수 있습니다.

    1. (2, 1, 4, 3)
    2. (2, 3, 4, 1)
    3. (2, 4, 1, 3)
    4. (3, 1, 4, 2)
    5. (3, 4, 1, 2)
    6. (3, 4, 2, 1)
    7. (4, 1, 2, 3)
    8. (4, 3, 1, 2)
    9. (4, 3, 2, 1)

    이렇게 9가지 경우의 수가 나오게 됩니다.

    이는 교란수열 문제로 교란 수열에 대해 알고 있다면 식으로도 해결할수 있습니다. 교란순열에 대해서는 아래 링크 확인 바랍니다.

    https://davincicoding.tistory.com/119

     

    교란 순열이란?

    완전 순열(Complete permutation) 또는 교란(derangement) 순열이라 불리는 순열에 대해 알아보겠습니다. 교란 순열의 예를 들어 보겠습니다. 교란 순열이란? 졸업을 맞이하여 서로를 축하하기 위해 친구 N

    davincicoding.co.kr

     

    반응형