본문 바로가기
반응형

분류 전체보기188

[백준 30106] 현이의 로봇 청소기 문제 출처 : https://www.acmicpc.net/problem/30106 DFS나 BFS를 활용하여 풀 수 있는 플러드 필 문제 입니다. 하지만 DFS로 풀었을 때에는 시간초과가 발생했습니다. 같은 로직의 BFS로는 시간초과 없이 통과 되었습니다. 파이썬으로 문제를 풀 때에는 DFS보다는 BFS로 문제를 해결하는 습관을 들이는 것이 좋을 것 같습니다.문제 이해하기이 문제가 다른 플러드 필 문제와 다른 점은 연결이 되어있지 않아 여러 구역으로 나누어지는 것이 아니라 높이로 인해 건너갈 수 없어 여러 구역으로 나누어진다는 사실 입니다. 따라서 높이의 차를 통해 연결 여부를 따져야 합니다.코드 작성하기그럼 코드를 작성해 보겠습니다.입력 받기mii = lambda : map(int, input().sp.. 2024. 5. 7.
[백준 25381] ABBC 문제 출처 : https://www.acmicpc.net/problem/25381 A와 B를 지우는 방법을 시행 1이라고 하고, B와 C를 지우는 방법을 시행 2라고 하면 결국 B가 이 문제의 핵심 입니다. 시행 1을 실행함으로 시행 2를 실행 못하는 경우가 생기고, 시행 2를 실행함으로 시행 1을 실행 못하는 경우가 생기기 때문 입니다.DP로 생각할 수도 있지만 문자열의 길이가 30만 이나 되기 때문에 DP로는 해결할 수 없습니다. 좀 더 생각해보면 그리디로 문제를 해결할 수 있습니다.문제 이해하기결국 B의 개수가 문제 입니다. 시행 1과 시행 2 모두 B를 포함하기 때문에 A와 C가 아무리 많다고 하더라도 B의 개수 이상을 만들 수 없습니다. 따라서 시행 1이 가능한 개수와 시행 2가 가능한 개수를 .. 2024. 5. 4.
[백준 2776] 암기왕 문제 출처 : https://www.acmicpc.net/problem/2776 수첩 1에 있는 정수가 수첩 2에 있으면 1을, 없으면 0을 출력하는 문제 입니다.문제 이해하기수첩 1의 순서가 중요한 것이 아니기 때문에 수첩 1을 정렬한 다음, 수첩 2의 숫자로 이분탐색을 하여 결과를 출력하면 됩니다.이 방법보다 더 쉬운 방법은 수첩 1을 set 자료구조로 저장하여 찾는 것입니다. 간단한 문제이기 때문에 이분 탐색, set 두 가지 방법 모두 해보겠습니다.코드작성이분 탐색의 입력부터 알아보겠습니다.입력 받기mii = lambda : map(int, input().split())T = int(input())for _ in range(T): N = int(input()) arr = list(mii.. 2024. 5. 3.
[백준 2295] 세 수의 합 문제 출처 : https://www.acmicpc.net/problem/2295 집합에 포함된 세 수를 더한 결과가 집합 내에 있는 가장 큰 수가 되는 경우를 찾는 문제 입니다. 세 수 x, y, z와 그 결과로 가장 큰 수 k를 찾아야 합니다. 이 때 꼭 기억해야 하는 부분은 x, y, z, k의 값이 서로 같아도 된다는 부분 입니다. 저는 세 수가 같을수는 없다고 생각하고 아무리 풀어도 틀리다고 나와 문제를 다시 제대로 읽어보니 숫자가 중복되어도 상관 없다는 부분을 찾을 수 있었습니다. 저와 같은 실수를 하지 마시기 바랍니다.아이디어세 개의 수를 더하기 때문에 시간복잡도가 높을 것으로 생각이 듭니다. 하지만 조금만 더 생각해보면 시간복잡도를 줄일 수 있는 아이디어가 있습니다. 우리가 구해야 하는 공식.. 2024. 5. 2.
[백준 2512] 예산 문제 출처 : https://www.acmicpc.net/problem/2512 렌선 자르기 문제와 비슷한 느낌이 드는 문제 입니다. 다빈치코딩 알고리즘에 넣기에는 중복적인 내용이라 블로그에 추가하였습니다.문제 이해하기예산이 낮은곳은 그대로 두고, 예산이 높은곳만 줄여나가며 총액보다 작게 만드는 문제 입니다.이 문제는 일반적인 이분 탐색 문제와 다른점이 있습니다. 바로 예산을 증액할 필요는 없다는 것입니다. 예산의 총액이 신청한 예산보다 크다면 더이상 예산을 늘릴 필요 없이 최대값을 출력하면 됩니다. 이 부분만 주의하면 문제를 해결할 수 있습니다.코드 작성그럼 코드를 작성하며 문제를 해결해 보겠습니다.입력 받기N = int(input())arr = list(map(int, input().split())).. 2024. 5. 1.
[백준 18185] 라면 사기 (Small) 문제 출처 : https://www.acmicpc.net/problem/18185문제 이해하기라면을 최대한 싸게 사면 되는 문제 입니다. 1개를 살 때에는 3원, 2개를 살 때에는 5원, 3개를 살 때에는 7원을 주고 사야 합니다. 최대한 많이 사는 것이 이득이기 때문에 그리디로 문제를 해결할 수 있습니다.하지만 그리디 문제는 반례를 찾기가 힘듭니다. 반례를 잘 찾아 문제를 해결해야 합니다. 반례는 3개를 살펴볼 때 나오는 것이 아니라 4개 이상일 때 발생 합니다. 라면이 위와 같이 있다고 하겠습니다. 그리디 알고리즘으로 한꺼번에 많이 사는것이 이득이기 때문에 처음에 3개를 사보겠습니다.3개를 한꺼번에 샀기 때문에 3 * 7 로 21의 돈이 들었습니다. 그리고 2번째 2개, 4번째 3개가 남았습니다. 각.. 2024. 4. 29.
[백준 13023] ABCDE 문제출처 : https://www.acmicpc.net/problem/13023 A → B → C → D → E 의 관계가 성립하는 그래프가 있는지 확인하는 문제 입니다.깊이 우선 탐색을 이용하여 4단계까지 깊이가 생성된다면 1을 출력하고, 생성되지 않는다면 0을 출력하면 됩니다.문제 이해하기아래와 같은 친구 관계가 있습니다.1번에서부터 친구 관계를 찾아보면 4단계의 깊이를 내려갈 수 없습니다. 2번에서 시작해도 마찬가지로 4단계의 깊이로 내려갈 수 없습니다. 4번이나 5번에서 시작해야만 4단계의 깊이로 내려갈 수 있습니다. 따라서 이 문제는 모든 친구를 A로 가정하고 다 확인해봐야 합니다.코드작성함정이 없고, 이해하기 쉽기 때문에 바로 코드를 작성하겠습니다.입력 받기mii = lambda : map(i.. 2024. 4. 27.
2023년 정보올림피아드 필기 중등부(16 ~ 20) 2023년도 정보올림피아드 1차대회 필기 중등부 16번부터 20번까지 문제 풀이 입니다.이전 문제는 아래 링크 확인 바랍니다.2024.04.23 - [알고리즘 설명/정보올림피아드 필기] - 2023년 정보올림피아드 필기 중등부(1 ~ 5)2024.04.23 - [알고리즘 설명/정보올림피아드 필기] - 2023년 정보올림피아드 필기 중등부(6 ~ 10)2024.04.24 - [알고리즘 설명/정보올림피아드 필기] - 2023년 정보올림피아드 필기 중등부(11 ~ 15) 16번초등부 19번과 같습니다. 아래 링크를 통해 19번 확인 바랍니다.https://davincicoding.tistory.com/138#19%EB%B2%88 2023년 정보올림피아드 필기 초등부(16 ~ 20)2023년 정보올림피아드 1차.. 2024. 4. 26.
2023년 정보올림피아드 필기 중등부(11 ~ 15) 2023년도 정보올림피아드 1차대회 필기 중등부 6번부터 10번까지 문제 풀이 입니다.이전 문제는 아래 링크 확인 바랍니다.2024.04.23 - [분류 전체보기] - 2023년 정보올림피아드 필기 중등부(1 ~ 5)2024.04.23 - [분류 전체보기] - 2023년 정보올림피아드 필기 중등부(6 ~ 10) 11번세 개의 점을 찍고 각각의 간선들이 몇 번 사용 되었나 묻는 문제 입니다. 총 12개의 정점이 있고, 여기서 세 개의 점을 고르기 때문에 총 220의 경우의 수를 가집니다.$$ _{12}C_3 = \frac{12 * 11 * 10}{3 * 2 * 1} = 220 $$220개의 경우에서 각각의 간선들이 사용 되었는지를 따지는 것입니다.그림과 같이 빨간색 간선이 사용되었는지를 알기 위해서는 전체.. 2024. 4. 25.
2023년 정보올림피아드 필기 중등부(6 ~ 10) 2023년도 정보올림피아드 1차대회 필기 중등부 6번부터 10번까지 문제 풀이 입니다.이전 문제는 아래 링크 확인 바랍니다.2024.04.23 - [분류 전체보기] - 2023년 정보올림피아드 필기 중등부(1 ~ 5) 2023년 정보올림피아드 필기 중등부(1 ~ 5)2023년도 정보올림피아드 1차대회 필기 중등부 1번부터 5번까지 문제 풀이 입니다. 1번 초등부 2번과 같은 문제 입니다. 아래 링크를 통해 2번 확인 바랍니다. https://davincicoding.tistory.com/135#2%EB%B2%88 2davincicoding.co.kr  6번먼저 3의 배수 혹은 4의 배수는 몇개인지 알아보겠습니다.3의 배수는 2001 / 3으로 667개 있습니다.4의 배수는 .. 2024. 4. 24.
2023년 정보올림피아드 필기 중등부(1 ~ 5) 2023년도 정보올림피아드 1차대회 필기 중등부 1번부터 5번까지 문제 풀이 입니다. 1번 초등부 2번과 같은 문제 입니다. 아래 링크를 통해 2번 확인 바랍니다. https://davincicoding.tistory.com/135#2%EB%B2%88 2023년 정보올림피아드 필기 초등부(1 ~ 5) 2023년도 정보올림피아드 1차대회 초등부 필기 1번부터 5번까지 문제풀이 입니다. 1번 직접 시뮬레이션을 통해 왼쪽과 비교하여 더 빠른 경우 속도를 맞춰주면 쉽게 알 수 있습니다. 초기 속도는 davincicoding.co.kr 2번 초등부 4번과 같은 문제 입니다. 아래 링크를 통해 4번 확인 바랍니다. https://davincicoding.tistory.com/135#4%EB%B2%88 2023년 정.. 2024. 4. 23.
2022년 정보올림피아드 필기 중등부(16 ~ 20) 2022년도 정보올림피아드 1차대회 필기 중등부 16번부터 20번까지 문제 풀이 입니다. 이전 문제는 아래 링크 확인 바랍니다. 2024.04.20 - [알고리즘 설명/정보올림피아드 필기] - 2022년 정보올림피아드 필기 중등부(1 ~ 5) 2024.04.21 - [알고리즘 설명/정보올림피아드 필기] - 2022년 정보올림피아드 필기 중등부(6 ~ 10) 2024.04.22 - [알고리즘 설명/정보올림피아드 필기] - 2022년 정보올림피아드 필기 중등부(11 ~ 15) 16번 초등부 19번과 같습니다. 아래 링크를 통해 19번 확인 바랍니다. https://davincicoding.tistory.com/134#19%EB%B2%88 2022년 정보올림피아드 필기 초등부(16 ~ 20) 2022년도 정보.. 2024. 4. 22.
2022년 정보올림피아드 필기 중등부(11 ~ 15) 2022년도 정보올림피아드 1차대회 필기 중등부 11번부터 15번까지 문제 풀이 입니다. 이전 문제는 아래 링크 확인 바랍니다. 2024.04.20 - [알고리즘 설명/정보올림피아드 필기] - 2022년 정보올림피아드 필기 중등부(1 ~ 5) 2024.04.21 - [알고리즘 설명/정보올림피아드 필기] - 2022년 정보올림피아드 필기 중등부(6 ~ 10) 11번 2310을 소인수분해하여 세 수를 만들 수 있습니다. 2310 = 2 * 3 * 5 * 7 * 11 위와 같이 표현할 수 있습니다. 이것을 적절히 분배하여 a, b, c의 경우의 수를 구하면 되는 문제 입니다. a 가 1인 경우 먼저 a 가 1인 경우를 생각해 보겠습니다. a가 1이라면 b와 c로 2310이 될 수 있는 경우의 수 입니다. b를.. 2024. 4. 22.
2022년 정보올림피아드 필기 중등부(6 ~ 10) 2022년도 정보올림피아드 1차대회 필기 중등부 6번부터 10번까지 문제 풀이 입니다. 이전 문제는 아래 링크 확인 바랍니다. 2024.04.20 - [알고리즘 설명/정보올림피아드 필기] - 2022년 정보올림피아드 필기 중등부(1 ~ 5) 6번 정육각형에 7개의 점을 놓을 수 있는 방법은 많지만 최대한 멀리 놓을 수 있는 방법은 다음과 같습니다. 비둘기집 원리에 의해 두 점을 멀리 떨어뜨려 놓아도 나머지 점들과 가까워지기 때문에 적어도 한 쌍의 점은 한 변의 길이인 3이상 떨어지게 만들 수 없습니다. 7번 초등부 10번 문제와 같습니다. 아래 링크를 통해 10번 문제 확인 바랍니다. https://davincicoding.tistory.com/132#10%EB%B2%88 2022년 정보올림피아드 필기 .. 2024. 4. 21.
2022년 정보올림피아드 필기 중등부(1 ~ 5) 2022년도 정보올림피아드 1차대회 필기 중등부 1번부터 5번까지 문제 풀이 입니다. 1번 전위 순회(preorder) 한다면 트리의 루트(root) 노드를 먼저 방문 한다는 소리 입니다. 즉 3이 루트노드가 됩니다. 1과 4가 가장 먼 이진 트리를 그려보면 다음과 같은 트리를 얻을 수 있습니다. 위 그림을 통해 거리의 최댓값은 3임을 알 수 있습니다. 2번 초등부 6번 문제와 같습니다. 아래 링크를 통해 6번 문제 확인 바랍니다. https://davincicoding.tistory.com/132#6%EB%B2%88 2022년 정보올림피아드 필기 초등부(6 ~ 10) 2022년도 정보올림피아드 1차대회 필기 초등부 6번부터 10번까지 문제 풀이 입니다. 이전 문제는 아래 링크 확인 바랍니다. 2024... 2024. 4. 20.
2021년 정보올림피아드 필기 중등부(16 ~ 20) 2021년도 정보올림피아드 1차대회 필기 중등부 11번부터 15번까지 문제 풀이 입니다. 이전 문제는 아래 링크 확인 바랍니다. 2024.04.13 - [알고리즘 설명/정보올림피아드 필기] - 2021년 정보올림피아드 필기 중등부(1 ~ 5) 2024.04.16 - [알고리즘 설명/정보올림피아드 필기] - 2021년 정보올림피아드 필기 중등부(6 ~ 10) 2024.04.17 - [알고리즘 설명/정보올림피아드 필기] - 2021년 정보올림피아드 필기 중등부(11 ~ 15) 16번 초등부 18번 문제와 같습니다. 아래 링크에서 18번 문제 확인 바랍니다. https://davincicoding.tistory.com/129#18%EB%B2%88 2021년 정보올림피아드 필기 초등부(16 ~ 20) 2021년.. 2024. 4. 18.
2021년 정보올림피아드 필기 중등부(11 ~ 15) 2021년도 정보올림피아드 1차대회 필기 중등부 11번부터 15번까지 문제 풀이 입니다. 이전 문제는 아래 링크 확인 바랍니다. 2024.04.13 - [알고리즘 설명/정보올림피아드 필기] - 2021년 정보올림피아드 필기 중등부(1 ~ 5) 2024.04.16 - [알고리즘 설명/정보올림피아드 필기] - 2021년 정보올림피아드 필기 중등부(6 ~ 10) 11번 중심 노드의 진출 차수가 n - 1임이 보장되어 있습니다. 따라서 중심을 찾기 위해서 n - 1번 함수를 호출하면 무조건 중심 노드를 찾을 수 있습니다. 최악의 경우 일렬로 늘어선 트리를 생각할 수 있고, 마지막 트리 노드에서 중심을 찾으려면 n - 1번 거슬러 올라가야 중심노드를 찾을 수 있습니다. 12번 오른쪽이나 아래로만 이동 가능하기 때.. 2024. 4. 17.
2021년 정보올림피아드 필기 중등부(6 ~ 10) 2021년도 정보올림피아드 1차대회 필기 중등부 6번부터 10번까지 문제 풀이 입니다. 이전 문제는 아래 링크 확인 바랍니다. 2024.04.13 - [알고리즘 설명/정보올림피아드 필기] - 2021년 정보올림피아드 필기 중등부(1 ~ 5) 6번 초등부 9번과 같습니다. 아래 링크에서 초등부 9번 확인 바랍니다. https://davincicoding.tistory.com/127#9%EB%B2%88 2021년 정보올림피아드 필기 초등부(6 ~ 10) 2021년도 정보올림피아드 1차대회 초등부 필기 6번부터 10번까지 문제 풀이 입니다. 1번부터 5번 문제는 아래 링크 확인 바랍니다. https://davincicoding.tistory.com/125 2021년 정보올림피아드 필기 초등부(1 davinci.. 2024. 4. 16.
2021년 정보올림피아드 필기 중등부(1 ~ 5) 2021년도 정보올림피아드 1차대회 필기 중등부 1번부터 5번까지 문제 풀이 입니다. 1번 초등부 3번 문제와 같습니다. 아래 링크를 통해 초등부 3번 문제 확인 바랍니다. https://davincicoding.tistory.com/125#3%EB%B2%88 2021년 정보올림피아드 필기 초등부(1 ~ 5) 2021년도 정보 올림피아드 1차대회 초등부 필기 1번부터 5번까지 풀이 입니다. 1번 첫 번째 결과는 더하기, 빼기로 2가지 입니다. 두 번째 결과는 곱하기, 나누기, 나눗셈의 나머지로 3가지 입니다. davincicoding.co.kr 2번 이미 A가 2번 이긴 상태로 두 번만 더 이기면 승리할 수 있습니다. A가 두 번 더 승리 하는 경우를 생각해 보겠습니다. 먼저 두 번 다 승리로 끝나는 경.. 2024. 4. 15.
부동소수점 이해하기 0.1 + 02 = 0.3? 파이썬에 대해 공부하면 다음과 같은 이야기를 들을 수 있습니다. 0.1 + 0.2는 0.3이 아니라는 말입니다. 말도 안되는 이야기 같지만 사실 입니다. 다음과 같이 코드를 작성하여 확인해 보시기 바랍니다. print(0.1 + 0.2) # 0.30000000000000004 결과는 다음과 같이 0.3보다 미세하게 큰 0.30000000000000004 이 됩니다. 따라서 두 값의 합을 0.3과 비교하는 것도 틀리게 됩니다. print(0.1 + 0.2 == 0.3) # False 이런 말도 안되는 일이 발생하는 이유는 컴퓨터는 숫자를 이진법으로 표현하기 때문 입니다. 실수를 이진수로 컴퓨터가 숫자를 저장하는 방식을 생각해 보겠습니다. 우리는 이미 컴퓨터가 2진수밖에 인식하지.. 2024. 4. 15.
2020년 정보올림피아드 필기 중등부(2-4 ~ 2-8) 2020년도 정보올림피아드 1차 대회 중등부 필기 2 - 4번부터 2 - 8번까지 문제 풀이 입니다. 이전 문제는 아래 링크 확인 바랍니다. 2024.04.09 - [알고리즘 설명/정보올림피아드 필기] - 2020년 정보올림피아드 필기 중등부(1 ~ 5) 2024.04.11 - [알고리즘 설명/정보올림피아드 필기] - 2020년 정보올림피아드 필기 중등부(6 ~ 10) 2024.04.12 - [알고리즘 설명/정보올림피아드 필기] - 2020년 정보올림피아드 필기 중등부(11 ~ 2 - 3) 2 - 4번 5의 배수로 물건을 저장하다가 6의 배수로 물건을 저장할 때 위치가 변하지 않는 물건의 개수를 묻는 문제 입니다. 문제에서 보면 알 수 있듯이 1부터 5번까지는 움직이지 않습니다. 6번부터 하나씩 앞으로.. 2024. 4. 14.
2020년 정보올림피아드 필기 중등부(11 ~ 2 - 3) 2020년도 정보올림피아드 1차 대회 중등부 필기 11번부터 2 - 3번까지 문제 풀이 입니다. 이전 문제는 아래 링크 확인 바랍니다. 2024.04.09 - [알고리즘 설명/정보올림피아드 필기] - 2020년 정보올림피아드 필기 중등부(1 ~ 5) 2024.04.11 - [알고리즘 설명/정보올림피아드 필기] - 2020년 정보올림피아드 필기 중등부(6 ~ 10) 11번 이렇게 초기 경우의 수가 나오는 문제는 DP로 출제되는 경우가 있습니다. 문제를 보면 피보나치 수열이 떠오르는 문제 입니다. 4를 만드는 경우를 생각해 보겠습니다. 4는 1을 만드는 경우에 3을 더해 만들 수 있습니다. 2에는 2를 더하고, 3에는 1을 더해주면 됩니다. 즉 4를 만드는 경우의 수는 1, 2, 3을 만드는 경우의 수의 .. 2024. 4. 13.
2020년 정보올림피아드 필기 중등부(6 ~ 10) 2020년 정보올림피아드 1차대회 중등부 필기 6번부터 10번까지 문제풀이 입니다. 이전 문제는 아래 링크 확인 바랍니다. 2024.04.09 - [알고리즘 설명/정보올림피아드 필기] - 2020년 정보올림피아드 필기 중등부(1 ~ 5) 6번 먼저 두 사람이 1부터 20까지의 자연수 중 임의로 하나씩 고를 경우의 수를 알아보겠습니다. A와 B 모두 20개를 고를 수 있기 때문에 20 * 20으로 400의 경우의 수를 가집니다. 다음으로 A가 B보다 큰 수를 고를 경우의 수 입니다. B가 1을 선택하면 A는 2부터 20까지중 아무거나 선택했을 때 A가 더 큽니다. B가 2를 선택했다면 A는 3부터 20까지 고를 수 있습니다. 마지막으로 B가 20을 선택했다면 A는 아무것도 선택할 수 없습니다. 즉 처음에는.. 2024. 4. 11.
2020년 정보올림피아드 필기 중등부(1 ~ 5) 2020년 정보올림피아드 1차대회 중등부 필기 1번부터 5번까지 문제풀이 입니다. 1번 페르마의 소정리를 알아야 이해하기 쉽습니다. https://davincicoding.tistory.com/12 페르마의 소정리 다빈치코딩 알고리즘에 나머지 정리에 대해 설명하다 분배 법칙에 대해 글을 쓰다보니 나눗셈에 대해서는 왜 분배 법칙이 적용이 안되는지를 설명하게 되었습니다. 그러면서 페르마의 소정리 davincicoding.co.kr 페르마의 소정리를 몰라도 a^(p-1) 을 p로 나눈 나머지가 1이라는 사실을 알려주었기 때문에 이를 이용해서 문제를 풀 수 있습니다. 7^(4 * 505) 를 5로 나눈 나머지는 결국 1이라는 것을 알 수 있습니다. 2번 초등부 3번과 같은 문제 입니다. 아래 링크를 통해 초등부.. 2024. 4. 11.
2023년 정보올림피아드 필기 초등부(16 ~ 20) 2023년 정보올림피아드 1차대회 초등부 필기 16번부터 20번까지 문제 풀이 입니다. 1번부터 15번은 아래 링크 확인 바랍니다. 2024.04.07 - [알고리즘 설명/정보올림피아드 필기] - 2023년 정보올림피아드 필기 초등부(1 ~ 5) 2024.04.08 - [알고리즘 설명/정보올림피아드 필기] - 2023년 정보올림피아드 필기 초등부(6 ~ 10) 2024.04.09 - [알고리즘 설명/정보올림피아드 필기] - 2023년 정보올림피아드 필기 초등부(11 ~ 15) 16번 일단 C1과 C2중 어느 카메라가 0에 있는지 판단해야 합니다. C1의 거리를 보면 최대값이 100이라는 것을 알 수 있습니다. 반면 C2는 최대값이 138로 100을 넘습니다. 전체 좌표가 -100, 100 사이인데 거리가.. 2024. 4. 10.
2023년 정보올림피아드 필기 초등부(11 ~ 15) 2023년 정보올림피아드 1차대회 초등부 필기 11번부터 15번까지 문제 풀이 입니다. 1번부터 10번은 아래 링크 확인 바랍니다. 2024.04.07 - [알고리즘 설명/정보올림피아드 필기] - 2023년 정보올림피아드 필기 초등부(1 ~ 5) 2024.04.08 - [알고리즘 설명/정보올림피아드 필기] - 2023년 정보올림피아드 필기 초등부(6 ~ 10) 11번 이런 문제는 직접 계산해보면서 규칙을 찾는것이 빠릅니다. 규칙이 보이는지 0에서 10까지 변화를 보겠습니다. 0000000000 → 0000000001 = 1, 1 0000000001 → 0000000010 = 2, 3 0000000010 → 0000000011 = 1, 4 0000000011 → 0000000100 = 3, 7 000000.. 2024. 4. 9.
2023년 정보올림피아드 필기 초등부(6 ~ 10) 2023년 정보올림피아드 1차대회 초등부 필기 6번부터 10번까지 문제 풀이 입니다. 1번부터 5번은 아래 링크 확인 바랍니다. 2024.04.07 - [알고리즘 설명/정보올림피아드 필기] - 2023년 정보올림피아드 필기 초등부(1 ~ 5) 6번 부분의 개수가 가장 적게 나오기 위해서는 나누는 기준이 길다는 뜻입니다. 따라서 ab나 ba로 최대한 나누는 것이 부분의 개수를 적게 나오게 하는 것입니다. 그리디 형태로 문제를 해결하면 됩니다. ba ba b ba ab a ba ba b ba a ba 최대한 길이가 길게 만들면서 나누면 위와 같이 두 가지 경우가 나오게 되고 그 경우는 6개의 부분이라는 것을 알 수 있습니다. 7번 교환으로 어떤 수를 만드는 방법은 버블 정렬의 방법과 같습니다. 즉 이 문제는.. 2024. 4. 8.
2023년 정보올림피아드 필기 초등부(1 ~ 5) 2023년도 정보올림피아드 1차대회 초등부 필기 1번부터 5번까지 문제풀이 입니다. 1번 직접 시뮬레이션을 통해 왼쪽과 비교하여 더 빠른 경우 속도를 맞춰주면 쉽게 알 수 있습니다. 초기 속도는 이처럼 표시가 됩니다. 이 후 왼쪽부터 자신의 왼쪽의 속도를 비교하여 자신이 더 빠를 경우 왼쪽과 맞춰주면 몇가지 속도가 나오는지 알 수 있습니다. 최종적으로 이런 모양이 되며 총 6가지의 속도가 됨을 알 수 있습니다. 2번 양팔 저울로 구할 수 없는 무게를 찾는 문제 입니다. 이런 문제는 모든 경우의 수를 조합하여 구할 수 없는 무게를 찾아야 합니다. DP의 배낭 문제를 해결하는 방법과 유사합니다. 먼저 왼쪽에 2kg, 5kg를 넣고 오른쪽에 8kg을 넣습니다. 그럼 왼쪽이 7kg이 되기 때문에 물병을 1kg만.. 2024. 4. 7.
2022년 정보올림피아드 필기 초등부(16 ~ 20) 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이 있으면 양 옆은 무조건 지뢰가 없습니다. 단 자기 자신의 자리는 지뢰가 있는지 없는지 모릅니다. 이 두가지 사실을 기억하.. 2024. 4. 6.
2022년 정보올림피아드 필기 초등부(11 ~ 15) 2022년도 정보올림피아드 1차대회 필기 초등부 11번부터 15번까지 문제 풀이 입니다. 이전 문제는 아래 링크 확인 바랍니다. 2024.04.03 - [알고리즘 설명] - 2022년 정보올림피아드 필기 초등부(1 ~ 5) 2024.04.03 - [알고리즘 설명] - 2022년 정보올림피아드 필기 초등부(6 ~ 10) 11번 어떤 길이가 가장 높을지 모르기 때문에 모든 가능성을 따져봐야 합니다. (3, 2, 4)의 경우 면적이 제일 작기 때문에 가장 위에 올라가야 합니다. 그리고 면적을 최대한 작게 하면 (2, 3)의 면적을 가지고 높이는 4 입니다. (2, 3)의 면적을 받치기 위해서는 먼저 (2, 5, 8)을 생각해보면 (2, 5), (2, 8), (5, 8) 이 가능합니다. (4, 4, 9)의 경우.. 2024. 4. 5.
반응형