목차
2020년 정보올림피아드 1차대회 중등부 필기 1번부터 5번까지 문제풀이 입니다.
1번
페르마의 소정리를 알아야 이해하기 쉽습니다.
https://davincicoding.tistory.com/12
페르마의 소정리를 몰라도 a^(p-1) 을 p로 나눈 나머지가 1이라는 사실을 알려주었기 때문에 이를 이용해서 문제를 풀 수 있습니다. 7^(4 * 505) 를 5로 나눈 나머지는 결국 1이라는 것을 알 수 있습니다.
2번
초등부 3번과 같은 문제 입니다. 아래 링크를 통해 초등부 3번 확인 바랍니다.
https://davincicoding.tistory.com/121#3%EB%B2%88
3번
초등부 5번과 같은 문제 입니다. 아래 링크를 통해 초등부 5번 확인 바랍니다.
https://davincicoding.tistory.com/121#5%EB%B2%88
4번
버블 정렬이 어떻게 동작하는지 알고 있다면 계산하지 않아도 세 번째 반복 후 어떤 숫자가 오른쪽 세번째에 오는지 알 수 있습니다. 지금은 버블 정렬에 대해 모른다고 가정하고 문제를 풀어보겠습니다.
버블 정렬을 직접 실행해서 결과를 찾아보겠습니다.
8 5 4 9 11 1 12 15 2 6 7 10
위와 같은 배열이 있습니다. 첫 번째 단계를 진행해 보겠습니다.
5 4 8 9 1 11 12 2 6 7 10 15
가장 큰 수가 제일 마지막으로 이동하였습니다. 다음 두 번째 정렬을 시작하겠습니다.
4 5 8 1 9 11 2 6 7 10 12 15
이제 두 번째로 큰 수가 오른쪽 두 번째에 위치하였습니다. 다음으로 세 번째 정렬을 시작하겠습니다.
4 5 1 8 9 2 6 7 10 11 12 15
세 번째로 큰 수가 오른쪽 세 번째 위치로 이동하였습니다. 따라서 정답은 11이 됩니다.
버블 정렬이 어떻게 동작하는지 안다면 첫 번째에 가장 큰 수가 맨 오른쪽으로 가고, 다음에는 두 번째 수가 오른쪽 두 번째에 오게 된다는 것을 알 수 있습니다. 따라서 세번 반복 후 오른쪽 세 번째에 위치하는 수는 배열에서 세 번째로 큰 수라는 것을 알 수 있습니다.
5번
초등부 6번과 같은 문제 입니다. 아래 링크를 통해 초등부 6번 문제 확인 바랍니다.
https://davincicoding.tistory.com/122#6%EB%B2%88
'알고리즘 설명 > 정보올림피아드 필기' 카테고리의 다른 글
2020년 정보올림피아드 필기 중등부(11 ~ 2 - 3) (0) | 2024.04.13 |
---|---|
2020년 정보올림피아드 필기 중등부(6 ~ 10) (0) | 2024.04.11 |
2023년 정보올림피아드 필기 초등부(16 ~ 20) (0) | 2024.04.10 |
2023년 정보올림피아드 필기 초등부(11 ~ 15) (0) | 2024.04.09 |
2023년 정보올림피아드 필기 초등부(6 ~ 10) (0) | 2024.04.08 |