문제링크: https://www.acmicpc.net/problem/109861차원 배열의 누적합 문제이다누적합의 나머지가 같은 수 끼리 빼면 나머지가 0이 된다예제의 누적합의 경우 1, 3, 6, 7, 9 인데 나머지가 1인 1과 7을 빼도 나머지가 0이 된
문제링크: https://www.acmicpc.net/problem/5639전휘순회이므로 루트노드보다 큰 값이 나오면 오른쪽 서브 트리의 시작으로 알수 있다.재귀형식으로 왼쪽 서브트리 순회 -> 오른쪽 서브트리 순회 -> 출력으로 구성
https://www.codetree.ai/training-field/frequent-problems/problems/cube-rounding-again/description?page=1&pageSize=20주사위를 펼쳐 놓고 row와 col 로 구분한뒤방향대
문제링크: https://school.programmers.co.kr/learn/courses/30/lessons/42627시간내에 시작할 수 있는 작업 중 가장 양이 적은 작업 부터 해야한다양이 많은 작업을 먼저하면 양이 적은 작업은 양이 많은 작업 만큼 c
문제링크: https://www.acmicpc.net/problem/6497각 노드가 연결되어 있으며 가중치 값이 최소화 되는 MST 이다가중치를 기준으로 오름차순으로 정렬하여 union, find를 진행한다.
문제링크: https://www.acmicpc.net/problem/3109위쪽부터 탐색해야 최대한 많은 파이프설치 가능 (그리디)재귀 종료조건: 마지막 열에 도달하는지 여부파이프 끼리 겹쳐서 다시 방문 못하거나 해당 좌표에서는 파이프를 연결할 수 없거나 둘
문제링크: https://school.programmers.co.kr/learn/courses/30/lessons/132266destination을 q에 넣고 갈 수 있는 모든 최단 경로를 구한다.visited에는 인덱스별로 최단 경로값을 바인딩source에
문제링크: https://www.acmicpc.net/problem/14728dp배열 모양을 단원 x 시간으로 설정현재 단원을 학습할지 말지를 이전 단원의 현재 시간 값과 이전단원의 현재시간 - 현재단원을 학습하는 시간 비교
문제링크 : https://school.programmers.co.kr/learn/courses/30/lessons/1529950번 인덱스에 대해서 오름차순 정렬, 1번 인덱스에 대해서 내림차순 정렬이렇게 하면 뒷 사원의 1번 인덱스가 앞 사원의 1번 인덱스
문제링크: https://www.acmicpc.net/problem/18234당근보다 영양제가 더 크므로 먹고 다시 심을 일은 없다 => 당근을 t-n일 동안은 당근을 안먹는다.당근보다 영양제가 더 크므로 영양제를 우선순위로 정렬
문제링크 : https://www.acmicpc.net/problem/22866n^2은 시간 초과자신보다 큰 건물만 볼 수 있다.오른쪽이랑 왼쪽을 따로 계산이미 순회한 건물들은 stack 보관, stack에서 자신 보다 작은 건물들은 pop 하면서 내림차순을
문제링크 https://www.acmicpc.net/problem/2610유니온 파인드를 통해 하나의 부모 노드를 가리키도록 한 뒤같은 부모를 가리키는 인덱스끼리 dictionary로 정리하고각각의 value 값중에 최소 거리를 가지는 값을 BFS로 탐색한뒤
문제링크 : https://www.acmicpc.net/problem/2056dp문제dp에는 해당 인덱스까지의 소요시간을 저장하고 선행 인덱스들의 dp 값중 가장 큰 값에 소요시간을 더하는 방식으로 진행한다.
문제링크 : https://www.acmicpc.net/problem/10282전형적인 다익스트라 기본문제이다.
문제링크 : https://www.acmicpc.net/problem/16954하나의 큐를 순회하는 동안은 보드의 모양이 같다.시간이 9초 이상이면 벽이 없으므로 return 1wall 들의 좌표값을 갖고있고 한칸씩 내려서 표현?walls는 in 메소드를 통해
https://www.acmicpc.net/problem/2632 하나의 피자에서 나올수 있는 각각의 경우의 수 + 두개의 피자에서 만드는 경우의 수피자 A, 피자 B에서 나올 수 있는 모든 경우의 수를 dict에 저장하였다.하나의 피자의 경우 크기를 만족하는
스케쥴을 역순으로 순회하는 방법을 선택했다. (정방향으로 순회하면 2차원 dp를 만들어야 될수도 있겠다고 생각해서)해당 일을 기준으로 기간내에 처리 가능한 경우, 해당 일을 처리한 경우와 넘기는 경우 둘 중에서 비교했다.해당 일을 처리한 경우는 기간 이후의 값 dpi+
문제링크 : https://www.acmicpc.net/problem/9465다이나이믹 프로그래밍 기법을 통하여 해결했다.길이가 3이상인 숫자 배열부터는 n-1번째 (대각선), n-2번째 (나이트 이동 위치) 중 최댓값을 고르면된다. (나이트 이동위치 반대점은
문제링크 : https://www.acmicpc.net/problem/14938어디에 착지했을 경우 가장 많은 아이템을 얻는 지 확인해야하기 때문에 착지 가능 지역을 for문으로 순회하면서 해당 인덱스를 시작점으로 다익스트라 함수를 실행한다.다익스트라 함수 내