👀 문제 사이트 : https://www.acmicpc.net/problem/2150Strongly connected Component는 임의의 서로 다른 두 vertex v, w에 대해 v에서 w로의 경로와 w에서 v로의 경로가 있는 경우를 말한다.대표적인
👀 문제 사이트 : https://www.acmicpc.net/problem/1261이 문제는 단순 최단거리 계산처럼 bfs를 이용하여 visited를 계산하는 방식으로 풀면 안된다.\-> 당장 앞에 있는 벽을 부수고 가는 것처럼 bfs를 계산해버리면 멀리
👀 문제 사이트 : https://www.acmicpc.net/problem/2250이 문제는 dfs를 이용하여 각 노드에 행과 열값을 구해 풀이하였다.노드를 입력받으면서 child와 parent에 대한 정보를 저장한다.(입력받을 때, 노드 번호도 주어지므로
👀 문제 사이트 : https://www.acmicpc.net/problem/1202이 문제는 greedy 알고리즘과 priority queue를 이용하여 해결하였다.보석과 가방을 입력받은 후에 정렬을 한다. (보석은 무게 순으로 참조할 것이기 때문에 무
👀 문제 사이트 : https://www.acmicpc.net/problem/1103이 문제는 dfs로 모든방향을 탐색하면서 dp를 함께 사용하는 것이 가장 중요한 점이다.visited는 재귀적인 dfs 전에 True로 만들고, 끝난 후에 다시 False로
👀 문제 사이트 : https://www.acmicpc.net/problem/1007이 문제는 짝수 개의 좌표가 주어지면 그 중 절반을 시작점으로 잡고 남은 절반은 끝점으로 잡아 벡터를 만들어주고 그 벡터들의 합의 최솟값을 구하는 문제이다.문제 풀이에서 핵심
👀 문제 사이트 : https://www.acmicpc.net/problem/2042(python3로 제출하면 시간초과 결과가 나와 pypy3로 제출하였다.)이 문제는 숫자들이 나열되어 있을 때 중간에 값을 바꾸거나 지정된 구간의 합을 구하는 문제이다.그냥
👀 문제 사이트 : https://www.acmicpc.net/problem/1339이 문제는 주어진 알파벳을 숫자로 치환하여 가장 큰 숫자들의 덧셈의 결과를 찾는 문제이다.입력으로 주어지는 단어의 개수 N은 1이상 10이하이고, 문자들의 최대 길이는 8이므
문제 👀 문제 사이트 : https://www.acmicpc.net/problem/2293 풀이 이 문제는 전형적인 dp(dynamic programming) 문제로 주어진 동전을 가지고 정해진 k값을 만드는 문제이다. 조금 주의해야 될 점이라면 동전이 중복되서 여
👀 문제 사이트 : https://www.acmicpc.net/problem/1806이 문제는 수열에서 연속된 부분합에서 정해진 값을 넘어서는 부분합들 중 길이가 최소인 부분합의 길이를 구하는 문제이다.수열의 길이 n은 100000이하이므로 완전탐색을 하기로
👀 문제 사이트 : https://www.acmicpc.net/problem/2342이 문제를 처음 풀 때는 greedy로 모든 곳을 탐색하면서 q에 경우의 수를 늘려가면서 해결하려고 하였다.그렇게 풀었을 경우에 예외 처리를 많이 해주어야 되고, step은
👀 문제 사이트 : https://www.acmicpc.net/problem/2824첫 번째 줄 입력 : n두 번쨰 줄 입력 : n개의 숫자만큼 입력세 번째 줄 입력 : m네 번째 줄 입력 : m개의 숫자만큼 입력문제 : 두 번째 줄에 입력된 값들의 곱 a
👀 문제 사이트 : https://www.acmicpc.net/problem/1786문제 : 두 개의 문자열 t, p가 주어질 때 p가 t안에 몇 번 등장하고, 몇 번째 위치에서 등장하는지 출력한다.자주 나오는 문자열 패턴매칭 문제로써 다양한 풀이방법이 존
👀 문제 사이트 : https://www.acmicpc.net/problem/16236상어의 크기와 필요로 하는 먹이의 수를 따로 변수에 저장하여 관리하였고, 이것들과 비교하여 움직일 수 있는 공간들을 bfs로 탐색하였다.주의해야할 점은 bfs로 탐색하되 탐
👀 문제 사이트 : https://www.acmicpc.net/problem/1655이 문제는 숫자를 입력받을 때마다 사전순으로 정렬하였을 때 가운데에 있는 값을 계속 출력해주어야 하는문제이다.이 문제에서 숫자를 입력받을 때마다 sort를 하여 가운데에 있는
👀 문제 사이트 : https://www.acmicpc.net/problem/20005이 문제는 어렵다기보다는 구현하기에 복잡하여 시간이 조금 걸린 문제였다.처음 입력을 받을 배열 array, player들의 좌표를 저장할 players, player들의 공
👀 문제 사이트 : https://www.acmicpc.net/problem/1520이 문제는 직사각형 모양의 배열을 탐색하는 문제이다. 왼쪽 위 모서리에서 시작하여 오른쪽 아래 모서리에 도착하면 되는데, 일반적인 탐색과 달리 탐색할 때 값이 더 작은 곳으로
👀 문제 사이트 : https://www.acmicpc.net/problem/1600이 문제는 기본적인 bfs 문제를 조금 응용한 문제이다. 2차원 배열에서 한 칸씩 이동하는 것과 말이 이동하는 것을 동시에 생각하여야 한다. 또한 말이 이동하는 횟수가 정해져
👀 문제 사이트 : https://www.acmicpc.net/problem/5430이 문제는 배열에서 popleft와 reverse를 사용해야하는 문제이다. 하지만, 문제에서 reverse가 주어질 때마다 배열의 reverse를 수행하면 시간 초과가 발생할
👀 문제 사이트 : https://www.acmicpc.net/problem/9019이 문제는 D, S, L, R 이라는 네 가지 연산이 있는데, 입력받은 두 숫자 a, b에 대하여 연산들을 잘 조합해서 최소한의 명령어를 사용하여 a를 b로 만들면 되는 문제
👀 문제 사이트 : https://www.acmicpc.net/problem/7662일반적으로 우선순위 큐는 max나 min 중 한 가지만 적용할 수 있는 것을 의미하는데, 이 문제는 max와 min을 둘 다 사용할 수 있는 이중 우선순위 큐를 구현하는 문제
👀 문제 사이트 : https://www.acmicpc.net/problem/3197이 문제는 2차원 그래프에 백조(L), 물(.), 얼음(X)이 있고, 하루가 지날 때마다 물이 주위에 있는 얼음을 녹여나가고, 백조는 물 위를 움직일 수 있다고 할 때, 2마
👀 문제 사이트 : https://www.acmicpc.net/problem/1043이 문제는 진실을 아는 사람들에게는 거짓말을 하면 안되고, 한 사람에게 거짓말과 진실을 말하면 안되는 조건이 있을 때, 파티에 온 사람들에게 거짓말을 할 수 있는 최대 경우의
👀 문제 사이트 : https://www.acmicpc.net/problem/2206이 문제는 전형적인 bfs문제이지만, 한 번만 벽을 부수고 이동할 수 있다는 점을 반영하여 (0, 0)에서 (n, m)까지 이동하는 최단 거리를 구하는 문제이다.처음에 떠올린
👀 문제 사이트 : https://www.acmicpc.net/problem/1918이 문제는 전위 표기식으로 들어온 식을 후위 표기식으로 변경하여 출력하는 문제이다.처음 문제를 보았을 때 스택을 사용하여 연산자를 관리해주어야겠다고 생각했고, python에
👀 문제 사이트 : https://www.acmicpc.net/problem/11779이 문제는 그래프가 주어져 있을 때, 시작 노드와 끝 노드를 입력받고, 시작 노드에서 끝 노드로 가는 최단 거리를 구하는 문제이며, 추가로 최단 거리로 가는 경로까지 구해주
👀 문제 사이트 : https://www.acmicpc.net/problem/1766이 문제는 주어진 n개의 문제 중 순서에 맞게 먼저 풀어야 할 문제를 먼저 풀면서, 순서에 상관 없는 문제들은 숫자가 낮은 문제부터 풀어가는 내용이다.이 문제는 처음 보자마자
👀 문제 사이트 : https://www.acmicpc.net/problem/11505 풀이 난이도 : GOLD I > 이 문제는 숫자가 저장된 배열에서 최대합, 혹은 최대곱 등을 효율적으로 구할 수 있도록 값을 저장하는 세그먼트 트리 정의를 그대로 나타낸
👀 문제 사이트 : https://www.acmicpc.net/problem/1613일부 사건들의 전후 관계가 주어질 때, 주어진 사건들의 전후 관계를 구하는 문제사건들의 전후 관계를 배열로 1과 -1로 저장한다.완전탐색으로 배열의 모든 경우의 수를 돌면서
👀 문제 사이트 : https://www.acmicpc.net/problem/4386이 문제는 2차원 좌표 상에 여러 개의 점이 주어질 때, 두 점을 이은 선분들을 통해 모든 점이 이어져 있도록 하고, 그 중 선분의 길이가 가장 최소가 되도록 하는 결과를 구
👀 문제 사이트 : https://www.acmicpc.net/problem/17472 > 이 문제는 2차원 격자로 이루어진 공간에 섬으로 이루어진 공간과 물로 이루어진 공간이 있을 때, 섬과 섬 사이를 이어주는 다리를 고르는데 최소 길이를 사용하는 다리의 길
👀 문제 사이트 : https://www.acmicpc.net/problem/1774이 문제는 최소 스패닝 트리를 2차원 좌표상에서 사용할 수 있도록 한 문제이다.따라서 최소 스패닝 트리 문제에서 사용하는 분리 집합과 크루스칼 알고리즘을 사용하여 문제를 풀이
이 문제는 2차원 좌표 상에서 (0, 0)을 시작으로 상하좌우로 이동하면서 좌표 상에 네잎클로버를 찾아가는 문제이다.
👀 이 문제는 기본적인 위상정렬이 아닌 list 에 차수를 두어 풀이하였다.
👀 이 문제는 최소 스패닝 트리를 구하고, 최소 스패닝 트리 안에서 두 마을을 대상으로 가장 먼 거리를 구하는 문제이다.