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

2024년 정보올림피아드 필기 초등부(16 ~ 20)

by 다빈치코딩 2025. 3. 27.

목차

    반응형

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

    16번

     

    맨 위에 있는 8을 시작으로 왼쪽 자식과 오른쪽 자식의 값을 비교해서 왼쪽 자식, 자신, 오른쪽 자식의 크기가 아래와 같은 등호를 만족하도록 만들면 됩니다.

    • 왼쪽 자식 < 자신 < 오른쪽 자식

    가운데는 이미 3개의 숫자 중 중간 값이기 때문에 왼쪽 자식과 오른쪽 자식의 관계만 정해주면 됩니다.

    • 왼쪽 자식 < 오른쪽 자식

     

    17번

     

    양쪽 끝의 숫자를 확인해서 더 큰 숫자를 클릭해서 빼주면 됩니다. 만약 두 수가 같다면 다음 숫자들이 큰 숫자를 먼저 빼면 됩니다.

     

     

    18번

     

    작은 숫자부터 시작합니다. 길이가 2인 것부터 시작해서 길이 5까지 만들어 나갑니다. 이 때 다른 이진 코드의 접두사가 되지 않게 만들어야 합니다.

    혼란스럽지 않게 규칙적으로 진행해야 합니다. 길이 2에서는 1로 시작하는 두 가지 경우로 만들었습니다. 길이 3에서는 0으로 시작하게 하여 겹치지 않게 하였습니다. 같은 방식으로 숫자가 겹치지 않게 만들다보면 아래와 같이 만들 수 있습니다. 정답이 여러가지이기 때문에 꼭 아래와 같은 방법이 아니어도 정답이 됩니다.

     

    19번

     

    이 문제는 1부터 30까지 + 의 개수를 - 의 개수보다 많게 만드는 것입니다. 이 때 각 - 를 + 로 바꿀 때 비용이 들고, 그 비용이 최소가 되도록 해야 합니다.

    P[i] - Q[i] 값이 이미 아래 적혀 있습니다. 비용의 합이 최소가 되게 하려면 비용이 작은 것들을 골라야 합니다. 그냥 고르는 것이 아니라 앞에서부터 P[i] - Q[i] 값이 음수가 되는 위치보다 앞에 있는 비용 중 가장 작은 것을 고르면 최소 비용으로 정답을 찾을 수 있습니다.

     

     

    맨 앞에 있는 4에 -1이 있기 때문에 해당 위치를 + 로 바꿔 줍니다.

     

     

    다음으로 - 값이 나오는 위치는 비용 12의 위치 입니다. 12 이전에 비용이 가장 작은 6을 + 로 변경시켜 줍니다.

     

     

    다음 - 위치는 비용 10에 있습니다. 가장 작은 비용인 8을 + 로 변경 시켜 줍니다. 이렇게 진행하면 최종적으로 아래와 같은 결과를 얻을 수 있습니다.

     

     

    이렇게 사용한 비용 39로 문제를 해결할 수 있습니다.

     

    20번

     

    어느 글자를 가리더라도 각각의 번호가 유일할 수 있도록 해야 합니다. 각각을 숫자로 생각하지 않고 구별하기 위한 기호라 생각하고 번호를 만들어 줍니다. 첫 번째로 1번부터 8번까지 00001111 을 입력 합니다.

     

     

    다음으로 두 번째 자리는 00110011을 입력 합니다.

     

     

    세 번째 위치는 01010101을 입력 합니다.

     

     

    네 번째 위치는 01101001을 입력 합니다.

     

     

    이렇게 다양한 패턴으로 글자를 구성하면 하나의 글자가 보이지 않아도 숫자를 알 수 있습니다.

    아래와 같이 지워진 숫자들을 보고 원래의 숫자를 찾으면 정답을 얻을 수 있습니다.

     

    반응형