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

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

by 다빈치코딩 2024. 3. 30.

목차

    반응형

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

    1번부터 5번 문제는 아래 링크 확인 바랍니다.

    https://davincicoding.tistory.com/125

     

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

    2021년도 정보 올림피아드 1차대회 초등부 필기 1번부터 5번까지 풀이 입니다. 1번 첫 번째 결과는 더하기, 빼기로 2가지 입니다. 두 번째 결과는 곱하기, 나누기, 나눗셈의 나머지로 3가지 입니다.

    davincicoding.co.kr

     

    6번

    한 붓 그리기가 가능한 경우는 꼭지점의 교차 선분의 개수가 모두 짝수이거나, 꼭지점의 교차되는 선분의 개수가 홀수가 두개인 경우 가능 합니다.

    첫 번째, 두 번째, 세 번째의 경우 교차되는 홀수 쪽지점이 2개 입니다. 따라서 한 붓 그리기가 가능 합니다. 홀수점에서 시작하면 다른 홀수점에서 한 붓 그리기를 할 수 있습니다.

     

    다섯 번째 원 세개가 겹체있는 그림은 홀수점이 없어 어디서 시작해도 한 붓 그리기가 가능 합니다.

    마지막으로 네 번째는 홀수점이 4개 입니다. 따라서 한 붓 그리기를 할 수 없습니다. 네 번째 그림을 직접 한 붓 그리기 시도하면 그릴 수 없다는 것을 알 수 있습니다.

     

    7번

    조합을 통해 만들 수 있는 물의 양을 찾는 문제 입니다. 이런 문제는 저울을 사용하던가, 물통을 사용하여 여러가지 경우를 만들 수 있습니다.

    1L는 7L의 통을 가득 채운 다음 3L의 통에 두 번 버리면 나머지가 1L가 됩니다.

    2L는 3L의 통에 물을 가득 채운 다음 7L의 통을 가득 채우면 됩니다. 3L 통의 물을 7L에 두 번 옮기면 6L가 채워지고 3L통의 물을 다시 한 번 옮기면 1L를 더 채울 수 있기 때문에 남은 양은 2L가 됩니다.

    4L는 앞에서 1L를 채운 방식을 사용한 다음에 3L를 부으면 4L를 만들 수 있습니다.

    5L는 위에서 한 2L를 만든 방법에 3L를 채워 만들 수 있습니다.

    따라서 정답은 1L부터 7L까지 모두 만들 수 있습니다.

     

    8번

    맨 앞의 알파벳 A에서 B로 바뀔 때까지를 생각해 보겠습니다. B부터 F까지 5개의 숫자의 숫자의 경우의 수는 5!이 됩니다. 5 * 4 * 3 * 2 * 1로 120가지 경우가 있습니다.

    다음으로 맨 앞의 알파벳이 B에서 C로 변하는 경우 역시 120가지가 있습니다. 따라서 총 240가지 경우가 지나면 240번째는 아래와 같은 알파벳이 됩니다.

    CABDEF

    이제 두 번째 알파벳이 A에서 B가 되기 전까지를 생각해 보겠습니다. 이것 역시 경우의 수를 따져 봤을 때 4 * 3 * 2 * 1로 24개의 경우가 있습니다. 즉 총 240 + 24로 264번째가 되면 아래와 같은 알파벳이 됩니다.

    CAFEDB

    이제 두 번째 A가 B로 바뀌면 아래와 같은 알파벳이 됩니다.

    CBADEF

    두 번째 글자가 B가 나온 첫 번째 알파벳이 우리가 찾던 알파벳 입니다. 즉 위에서 찾은 264의 다음인 265번째 알파벳이 정답입니다.

     

    9번

    같은 숫자를 계속 곱하면 숫자가 반복해서 나타나게 됩니다. 일의 자리의 경우 2를 계속 곱하면 2, 4, 8, 6 순서로 반복이 됩니다. 이 문제에서 십의 자리까지 확장시켜 계산하면 십의 자리는 22번째가 되었을 때 04가 나와 반복이 가능 합니다.

    십의 자리까지만 변화를 보면 반복되는 숫자가 나오지 않는 것 같지만 계속 하다보면 십의 자리까지 반복이 나온다는 것을 알 수 있습니다. 십의 자리까지 반복이 가끔 출제되니 귀찮더라도 기억을 하고 있어야 합니다. 백의 자리 이상은 버리고 십의자리까지만 2의 거듭제곱의 결과를 확인해 보겠습니다.

    1 2 3 4 5 6 7 8 9 10
    2 4 8 16 32 64 28 56 12 24

    10의 자리까지 나타냈습니다. 20자리까지 알아보겠습니다.

    11 12 13 14 15 16 17 18 19 20
    48 96 92 84 68 36 72 44 88 76

    20자리까지 알아보았습니다. 여기까지 했으면 반복되는 숫자가 없다고 느낄 수 있습니다. 조금만 더 해보면 반복되는 지점이 보입니다.

    21 22 23 24            
    52 04 08 16            

    22번째에 04가 나와 다시 08이 되고, 다시 16이 되어 반복되는 것을 알 수 있습니다.

    22 + 20 + 20 + 20 + 20을 하면 102번째가 04가 됩니다. 100번째를 찾는 문제이기 때문에 2번을 빼면 101번째가 52이고, 100번째는 76이 됩니다. 따라서 십의 자리는 7이 됩니다.

     

    10번

    정확한 이름이 적힌 박스를 알기 위해서 시뮬레이션을 해보겠습니다. 맨 마지막에 있는 자두만 정확히 적혀있고 나머지 과일들은 잘못 적혀 있다고 생각하겠습니다.

    상자에 적혀 있는 것은 첫 번째 상자에 키위로 적혀 있습니다. 하지만 실제로 있는 과일은 사과 입니다. 이런 경우 마지막에 상자에도 자두, 실제도 자두인 상자를 찾는 것입니다.

    우연히 자두를 빠르게 찾으면 좋겠지만 우리는 앞에서부터 순서대로 열어볼 생각 입니다. 그럼 최악의 경우를 알 수 있기 때문 입니다. 먼저 첫 번째 상자를 열었을 때 키위가 있다고 적혀 있지만 실제는 사과 입니다. 이런식으로 포도까지 열어보면 전부 잘못 들어 있다는 것을 알 수 있습니다.

    이렇게 4번을 열어보았고 두개의 상자가 남았습니다. 두 개의 상자에는 사과, 자두가 적혀 있습니다. 그럼 이 때 우리는 마지막 자두로 적힌 상자가 제대로 된 상자라는 것을 알 수 있습니다. 왜냐하면 맨 처음 키위 상자를 열었을 때 우리는 이미 거기에 사과가 있다는 것을 알고 있습니다. 즉 지금 사과라 적혀있는 상자에는 사과가 없다는 것을 알 수 있습니다. 그렇기에 자두가 정확히 적혀있는 상자라는 것을 알 수 있습니다.

     

    반응형