본문 바로가기
반응형

전체 글205

[백준 9655] 돌 게임 돌 게임(9655)문제 출처 : https://www.acmicpc.net/problem/9655 돌 게임은 다양한 방식으로 출제되고 있는 유명한 문제 입니다. 다양한 돌 게임중 가장 쉬운 형태의 문제 입니다.우리는 돌을 1개 혹은 3개를 가져갈 수 있습니다. 2개를 가져갈 수 있는 것이 아니라는 점을 기억해야 합니다. 이 때 두 사람은 최선을 다해 게임이 임합니다. 즉 자신이 지는 방향으로는 가지 않는다는 뜻입니다.문제 이해하기N개의 돌이 남았을 때 현재 상근이가 게임을 진행하면 누가 이길지를 출력하는 것이 우리가 만들 함수 입니다. 상근이의 차례에 돌이 1개 혹은 3개 남아있다면 무조건 상근이가 이깁니다. 반대로 2개 혹은 4개가 남아 있다면 무조건 창영이가 이기게 됩니다. 그럼 아래와 같은 함수를 .. 2024. 11. 14.
[백준 32068] 보물 찾기 문제 출처 : https://www.acmicpc.net/problem/32068보물 찾기(32068)이 문제는 2024 정보올림피아드 2차 초등부 1번 문제 입니다.문제 이해하기S를 중심으로 양쪽으로 한 칸씩 이동하면서 어느쪽 물건을 먼저 찾는지 확인하는 것이 문제입니다. 어렵게 왔다 갔다 하면서 시뮬레이션해야 하는 것 처럼 보이지만 사실 양쪽의 거리만 알면 수학적으로 쉽게 해결 가능합니다.그래도 일단은 문제에서 요구하는대로 풀어보고, 다음으로 수학적으로 풀어보겠습니다.코드 작성하기그럼 코드를 작성해 보겠습니다.입력 받기T = int(input())for _ in range(T): L, R, S = map(int, input().split()) print(solve(L, R, S))먼저 테스.. 2024. 11. 13.
[백준 31964] 반품 회수 반품 회수(31964)문제 출처 : https://www.acmicpc.net/problem/31964 이 문제는 2024년 정보 올림피아드 초등부 3번, 고등부 1번 문제 입니다.문제 이해하기N개의 집을 방문해서 반품을 회수하는데 걸리는 최소 시간을 구하는 문제 입니다. 각 집마다 물건을 내놓는 시간이 다르기 때문에 그 시간에 맞춰 잘 회수해야 합니다. 이 때 내놓은 물건을 빠르게 회수하는 것이 목적이 아니라 다시 택배 물건을 회수해서 빠르게 돌아오는 시간을 구해야 한다는 것이 핵심 입니다. 즉 물건을 언제 회수 하느냐는 문제가 아닙니다.우리가 알 수 있는 것은 물건을 시각 0에 모두 내어 놓아도 택배 트럭이 왔다 갔다 하는 시간만큼은 줄일 수 없습니다. N개의 집이 있기 때문에 N번 집까지 가는데 시.. 2024. 11. 12.
[백준 2631] 줄 세우기 문제 출처 : https://www.acmicpc.net/problem/2631 이 문제는 2001년 정보 올림피아드 중등부 2번 문제 입니다. 처음에는 정렬 문제라 생각했습니다. 제목도 정렬과 관련 있는 줄 세우기고, 아이들을 원하는 위치에 넣어 정렬의 횟수를 구하면 되는 문제인가 생각했습니다. 하지만 막상 이렇게 풀려고 하니 최소 횟수를 구해야 한다는 부분에서 막혔습니다.문제 이해하기최소 횟수를 구하는 것이 포인트이기 때문에 이것을 반대로 생각했습니다. 이동해야 하는 아이들을 생각하지 않고 이동하지 않는 아이들을 생각해 보았습니다. 이런 문제를 풀 때 반대로 생각하는 것이 더 쉬운 방향일 수 있기 때문에 한번쯤은 고려해 봐야 합니다. 가만히 있는 아이들을 생각해보니 이미 정렬되어 있는 아이들이 움직이.. 2024. 11. 11.
[백준 2193] 이친수 이친수(2193)문제 출처 : https://www.acmicpc.net/problem/2193 0과 1로 이루어진 이진수 중 특별한 성질을 가지고 있는 이친수를 찾는 문제 입니다. 이친수의 성질은 다음과 같이 두 가지 입니다.이친수는 1로 시작합니다.이친수는 1이 연속해서 나타나지 않습니다.이 두 가지 성질을 만족하는 이친수의 개수를 찾는 것 입니다.문제를 보면 DP의 Top-Down으로 문제를 해결할 수 있을것 같습니다. 함수를 만들고 그 함수의 특징을 다음과 같이 정의 하였습니다.solve(n, c)n은 이친수의 길이 입니다. 그리고 c는 마지막 숫자를 나타냅니다. 즉 0 아니면 1이 됩니다. 그리고 이 함수의 리턴값은 길이가 n까지이고 마지막 숫자가 c인 이친수의 경우의 수 입니다.코드 작성하기그.. 2024. 11. 10.
[백준 3745] 오름세 문제 출처 : https://www.acmicpc.net/problem/3745 주식의 오름세를 찾는 문제 입니다. 점점 커지는 형태의 부분 수열을 찾는 문제로 LIS를 찾는 문제와 같습니다. LIS 라는 것만 알고 있다면 알고리즘을 이용하여 쉽게 문제를 해결 할 수 있습니다.코드 작성다른 함정이 없어 보이기 때문에 바로 문제를 해결해 보겠습니다. LIS를 해결할 때 속도도 빠르고 모듈을 사용하여 오류도 없을만한 이분탐색 bisect를 사용하겠습니다.입력 받기while True: try: N = int(input()) arr = map(int, input().split() except: break이 문제는 테스트 케이스의 개수가 존재하지 않습니다. 따라서 .. 2024. 11. 9.
[백준 11057] 오르막 수 문제 출처 : https://www.acmicpc.net/problem/11057 간단한 DP 문제 입니다. 점화식이 바로 떠오른다면 문제 없지만 보통 점화식을 바로 떠올릴 수 없습니다. 그런 경우 Top-Down으로 먼저 문제를 해결하고 이를 Bottom-Up으로 바꾸는 것이 좋습니다.아직 Top-Down, Bottom-Up이 무엇인지 잘 모르겠다면 아래 링크를 통해 확인해 보시기 바랍니다.https://wikidocs.net/206429 09. 동적 계획법(다이나믹 프로그래밍)동적 계획법이라 불리는 DP(dynamic programming) 는 큰 문제를 작은 문제로 쪼개어 나가면서 문제를 해결하는 기법 입니다. DP에는 크게 두 가지 방법이 많이 사…wikidocs.net 문제 이해하기Top-Dow.. 2024. 11. 8.
[백준 2624] 동전 바꿔주기 문제 출처 : https://www.acmicpc.net/problem/2624 이 문제는 2002년 정보 올림피아드 중등부 2번 문제 입니다. 다빈치코딩 알고리즘 책에서 동전 문제들은 많이 다루었습니다.[백준 2091] 동전 : https://wikidocs.net/265710 06. 동전 [백준 2091][TOC] # 동전(2091) 문제 출처 : [동전](https://www.acmicpc.net/problem/2091) 지금까지 동전0, 동전2, 동전1 순으로 동전 문제를 …wikidocs.net문제 이해하기동전 문제들을 통해서 다양한 문제풀이 방법을 배웠습니다. 동전1(2293) 문제에서 경우의 수를 구하는 방법을 배웠고, 동전(2091) 문제에서 동전의 개수가 정해져 있는 문제를 풀어보았습니다.. 2024. 11. 7.
[백준 17616] 등수 찾기 문제 출처 : https://www.acmicpc.net/problem/17616 이 문제는 2019년 정보 올림피아드 초등부 2차 3번 문제 입니다. 문제 이해하기두 학생중 누가 더 잘했느냐를 종합하여 특정 학생 X의 등수 범위를 파악해야하는 문제 입니다.문제의 예제 입력3번을 보겠습니다. 5 5 11 32 33 43 54 5 해당 입력을 그림으로 표현하면 아래와 같습니다.1, 2번을 제외한 3, 4, 5번의 등수는 확실하게 알 수 있습니다. 하지만 1번이 1등인지 2번이 1등인지 알 수 없습니다. 따라서 1번의 범위는 최대 1등, 최소 2등이 됩니다.보통 DFS, BFS 문제를 풀 때 방향성을 고려하지 않는 양방향으로 구현하지만 이 문제에서는 단방향으로 해야 합니다. 단방향으로 자신보다 높은 성적을 .. 2024. 11. 3.
[백준 20187] 종이접기 2020년 정보 올림피아드 2차 대회에서 초등부 2번, 중등부 1번 문제였던 종이접기, 백준 온라인 저지에서 20187번을 풀어 보도록 하겠습니다.문제 출처 : https://www.acmicpc.net/problem/20187문제 이해하기어릴적에 종이를 얼마나 접을 수 있을지 꼬깃꼬깃 접었던 기억이 있습니다. 그렇게 종이를 접고 접다보면 최종적으로 1 X 1 크기의 정사각형이 됩니다. 여기에 4등분 하여 하나의 위치에 구멍을 뚫고 접었던 반대로 풀기 시작하면서 구멍이 뚫린 위치를 출력해주면 됩니다.마지막 1 X 1 정사각형의 위치는 어떻게 잡으면 될까요? 규칙적으로 접고 접었다가 다시 펼치는 알고리즘을 생각해보면 분할 정복으로 문제를 해결할 수 있습니다. 전체크기를 하나하나 줄여 나가다보면 제일 마지막.. 2024. 10. 15.
[백준 32069] 가로등 이 문제는 2024년 정보올림피아드 2차 대회 초등부 2번, 중등부 1번, 고등부 1번으로 출제된 문제 입니다. 문제 출처 : https://www.acmicpc.net/problem/32069 가로등이 있는 위치의 어두운 정도를 0으로 하고 거리가 1씩 늘어날 때마다 어두운 정도가 1씩 늘어납니다. 이렇게 모든 위치의 어두운 정도를 구한 다음 K 번째 까지의 어두운 정도를 출력하면 됩니다.가로등의 위치에서 1씩 멀어질 때마다 어두운 정도 1을 더해주어 각 위치의 어두운 정도를 구하면 됩니다. 이렇게 거리가 1씩 늘어날 때마다 1을 더해주는 형태의 문제는 BFS로 쉽게 해결할 수 있습니다. 하지만 문제가 BFS 형태가 아닌것 같다는 것이 문제가 됩니다. 가장 큰 문제는 숫자의 범위라 할 수 있는 L의 크.. 2024. 10. 3.
[백준 4779] 칸토어 집합 문제 출처 : https://www.acmicpc.net/problem/4779 이 문제는 재귀함수나 분할정복으로 구현할 수 있는 문제 입니다. 다빈치코딩 알고리즘 재귀 부분에 이 문제가 없어 아무 생각없이 작성했는데 분할 정복에서 이미 작성해 놓았다는 것을 알았습니다. 분할정복과 재귀 두 방법을 비교해 보면서 확인해 보시기 바랍니다. 분할 정복으로 푼 방법 : https://wikidocs.net/206410 02. 칸토어 집합[백준 4779]# 칸토어 집합(4779) 문제 출처 : [칸토어 집합](https://www.acmicpc.net/problem/4779) 3등분으로 분할 정복하는 문제 입니다. 주어진 길이…wikidocs.net 칸토어 집합이란 0과 1 사이를 삼등분 해나가면서 가운데 부분을.. 2024. 10. 1.
[백준 31963] 두 배 이 문제는 2024 정보올림피아드 1차 대회 초등부 2번, 중등부 1번 문제 입니다. 문제는 아래 링크에서 확인 바랍니다.https://www.acmicpc.net/problem/31963 수열을 오름차순으로 만드는 문제로 앞의 수보다 다음 수가 작다면 두 배씩 커지게 만들어 수열을 오름차순을 만들어 주면 됩니다. 첫 번째 예제를 확인해 보며 문제를 이해해 보겠습니다.3, 1, 4, 1, 5첫 번째 예제의 숫자입니다. 두 번째 숫자인 1은 3보다 작기 때문에 오름차순이 되지 않습니다. 따라서 여기에 2를 곱해줍니다. 2를 곱하면 2가 되어 아직 3보다 작습니다. 따라서 2를 더 곱해주어 4를 만들어 줍니다. 이제 오름차순이 되었기 때문에 다음 숫자를 확인합니다. 세 번째 숫자는 4로 오름차순이기 때문에 .. 2024. 9. 26.
[백준 31962] 등교 문제 출처 : https://www.acmicpc.net/problem/31962 이 문제는 2024년 정보올림피아드 1차대회 초등부 1번 문제입니다.문제 이해하기문제의 말이 조금 어렵게 느껴질 수 있지만 결국은 학교에 제시간에 등교를 하면서 가장 늦게 가는 버스를 타고 싶다는 것입니다. S는 버스를 타는데 걸리는 시간입니다. 즉 S가 가장 큰 것이 버스를 가장 늦게 타는 것입니다.다음으로 생각해야 하는 부분이 버스가 정류장에서 학교에 도착하는 시간 T입니다. 학교에 도착하는 시간은 정류장에서 출발하는 시간 S와 학교에 도착하는 시간 T의 합계 입니다. S 와 T의 합계가 X분 이하라면 학교에 제시간에 도착할 수 있습니다.결국 이 문제는 학교에 제시간에 도착하면서 가장 늦게 가고 싶다는 것이기 때문에 S.. 2024. 9. 14.
[백준 20437] 문자열 게임 2 문제 출처 : https://www.acmicpc.net/problem/20437 문제 이해하기1. 문자의 개수 파악하기양의 정수 K로 문자열의 길이를 찾는 문제 입니다. 문자는 소문자로 이루어져 있기 때문에 a부터 z까지 총 26개의 문자에 대해 확인을 해야겠지만 K개 이하의 문자는 확인을 하지 않아도 됩니다. 첫 번째 예제의 문자열로 확인을 해보겠습니다.superaquatornado, K = 2위 문자에 대해 K는 2이기 때문에 2개이상 존재하지 않는 문자는 신경 쓰지 않아도 됩니다. 그럼 먼저 각 문자가 몇 개씩 존재 하는지 부터 확인해 보겠습니다.superaqtond12112311211K가 2이기 때문에 2개 이하로 존재하는 이들은 확인할 필요가 없습니다. 여기서 확인해야 할 문자는 u, r, a.. 2024. 7. 28.
[백준 5676] 음주 코딩 문제 출처 : https://www.acmicpc.net/problem/5676 세그먼트 트리에 대한 이해가 필요한 문제 입니다. 기본적인 세그먼트 트리에 대해 아직 잘 모른다면 아래 링크를 통해 확인하시기 바랍니다.https://wikidocs.net/209446 06. 세그먼트 트리세그먼트 트리(Segment Tree)는 구간의 합, 구간의 최솟값, 구간의 최댓값등을 빠르게 구할 때 사용합니다. 앞에서 배웠던 누적합과 비슷하다고 느낄 수 있지만 누적합은 합…wikidocs.net 문제 이해하기제목은 음주 코딩이지만 음주와는 전혀 관련 없는 문제 입니다. 주어진 수열이 있고 이 수열의 수들을 곱했을 때 양수가 될지, 음수가 될지, 0이 될지만 확인하면 됩니다.다만 숫자가 너무 커질 것을 대비해서 직접 .. 2024. 6. 15.
[백준 28432] 끝말잇기 문제 출처 : https://www.acmicpc.net/problem/28432 문제 이해하기끝말잇기를 하기 위해서 앞의 단어의 마지막 글자와 다음 단어의 첫 번째 글자를 알아야 합니다. 그리고 그 문자가 끝말잇기 리스트에 포함되서는 안됩니다. 여기서 또 한가지 문제는 ?가 맨 처음에 위치할 수도 있고, 마지막에 위치할 수도 있다는 것입니다. 따라서 처음과 마지막일 경우의 처리도 생각하면서 문제를 해결해야 합니다. 우리가 고려해야할 사항을 적어보았습니다.?가 처음에 위치할 경우?가 마지막에 위치할 경우문자중에 ?가 있는지 확인위 세 가지를 고려해서 문제를 해결해 보겠습니다.코드 작성그럼 코드를 작성해 보겠습니다.입력 받기N = int(input())S = []idx = 0for i in range(N).. 2024. 6. 8.
[백준 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.
반응형