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

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

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

목차

    반응형

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

    이전 문제는 아래 링크 확인 바랍니다.

    2024.04.03 - [알고리즘 설명/정보올림피아드 필기] - 2022년 정보올림피아드 필기 초등부(1 ~ 5)

    2024.04.03 - [알고리즘 설명/정보올림피아드 필기] - 2022년 정보올림피아드 필기 초등부(6 ~ 10)

    2024.04.05 - [알고리즘 설명/정보올림피아드 필기] - 2022년 정보올림피아드 필기 초등부(11 ~ 15)

     

    16번

    2가 있으면 양 옆은 무조건 지뢰가 있습니다. 단 자기 자신의 자리는 지뢰가 있는지 없는지 모릅니다.

    0이 있으면 양 옆은 무조건 지뢰가 없습니다. 단 자기 자신의 자리는 지뢰가 있는지 없는지 모릅니다.

    이 두가지 사실을 기억하고 2가 있는 양 옆을 모두 체크하고 시작합니다. 그 외에는 하나하나 규칙에 맞게 맞춰 진행하면 됩니다. 경우의 수가 여러개인 경우 모든 케이스에 대해 다 해보면서 맞지 않는 경우가 있으면 다시 진행하면 됩니다. 최소값을 원하는 것이 아닌 정답만 찾으면 되기 때문에 부담없이 시도해보면 됩니다.

     

    17번

    최대한 넓은 범위를 더해주어 연산 횟수를 줄여야 합니다. 먼저 전체에 1을 더해 모두 1을 만들어 줍니다. 4번째 1, 7번째 1이 완성 됩니다.

    다음으로 1부터 3까지 2를 더해 2번째 3을 만들어 줍니다. 1번에 2를 더해 5를 만들고, 3번에 3을 더해 6을 만들어 줍니다. 이런 방식으로 최대한 넓은 범위의 수를 만든 다음 세부적으로 진행하면 10번만에 A와 B를 같게 만들 수 있습니다. 아래는 10번만에 정답을 내기 위한 값 입니다.

    • [1, 12] - 1, [1, 3] - 2, [1, 1] - 2, [3, 3] - 3, [5, 6] - 2,
    • [6, 6] - 3, [8, 12] - 7, [8, 8] - 7, [10, 12] - 2, [11, 11] - 2

    18번

    코인으로 만들 수 있는 아이템을 알아보겠습니다.

    • 코인 1개 : 나뭇잎
    • 코인 2개 : 돌
    • 코인 3개 : 나뭇가지

    다음으로 검을 만들 수 있는 은으로 만들기 위해서 나뭇잎, 돌, 나뭇가지를 코인으로 계산하였을 때 은 하나를 만들기 위해서 필요한 코인 수를 알아보겠습니다.

    • 거래 1은 코인 5개로 은 한 개를 얻을 수 있습니다.
    • 거래 2는 코인 8개로 은 두 개를 얻을 수 있습니다.
    • 거래 3은 코인 12개로 은 세 개를 얻을 수 있습니다.

    거래 2, 거래 3은 코인 4개로 은을 하나 만들 수 있지만 거래 1은 코인 5개가 필요합니다. 따라서 우리는 거래 1을 사용하지 않고 검을 만들어야 합니다. 은 7개가 있어야 검 하나를 얻을 수 있습니다. 따라서 거래 2를 2번, 거래 3을 1번 하여 은 7개를 만들어 검을 만들면 28개의 코인으로 검을 만들 수 있습니다.

     

    19번

    최대 18번 이동이 가능합니다. 최대한 긴 간선을 찾아보면 9개로 연결된 경로를 찾을 수 있습니다. 이 경로는 아래와 같습니다.

    • 3 - 4 - 2 - 5 - 8 - 17 - 22 - 24 - 25

    이제 3이나 25로 시작하여 8칸을 지나면 총 9개의 정점을 얻습니다. 아직 우리는 10칸을 더 움직일 수 있습니다. 하지만 이제는 한 칸당 한 정점을 갈 수 있는 것이 아니라 두 칸당 한 정점을 갈 수 있습니다. 그럼 최대 다섯개의 정점을 더 갈 수 있고 총 14 정점을 방문할 수 있습니다.

    따라서 3이나 25에서 시작해서 중간중간 방문할 수 있는 곳을 방문해 가면서 총 14 정점을 방문하도록 하면 됩니다. 아래는 정답의 예시 입니다.

     

    20번

    포인트를 최대화 하기 위해서는 양수에는 양수를 곱하고, 음수에는 음수를 곱하도록 만들어 주는 것입니다. 그래야 합이 최대값이 될 수 있습니다.

    1. 1을 곱하기 위해서는 양쪽에 있는 수 중 양수인 5를 골라 오른쪽을 선택 합니다.
    2. 2에는 3을 골라 오른쪽을 선택합니다.
    3. -3은 음수인 -4를 골라 왼쪽을 선택합니다.
    4. 3은 9가 더 크지만 다음수가 음수이기 때문에 5를 골라 오른쪽을 선택합니다.
    5. -2는 -6을 골라 오른쪽을 선택합니다.
    6. 마지막 1은 9를 골라 왼쪽을 선택합니다.

    이렇게 선택하면 아래와 같이 남고 59 포인트가 됩니다.

    반응형