문제링크 : https://www.acmicpc.net/problem/1463상위문제를 해결하는 것은 하위문제의 여러개를 해결하는 것과 같고하위문제들은 서로 중복되는 계산이 많은 경우에 '동적계획법' 사용가능
문제링크 : https://www.acmicpc.net/problem/7576BFS : 시작점을 기준으로 계속 가장 가까운 노드부터 순차로 탐색하는 탐색방법
문제링크 : https://www.acmicpc.net/problem/11403i번째 점에서 j번째로 가는 경로가 있는지 탐색(인접행렬을 구하는 것이 아니라 경로행렬을 구하는 것)
문제링크 : https://www.acmicpc.net/problem/1927Heap이란 반정렬된 이진트리 구조를 가진 자료구조이다.따라서 삽입, 삭제가 빠른 장점을 가지고 있으며 시간복잡도는 log(n)이다.가장 상위인 루트노드로 갈수록 값이 작아지는 최소
문제링크 : https://www.acmicpc.net/problem/11279설명은 최소 힙 포스팅 참고.https://velog.io/@osh8242/BOJ-1927
문제링크 : https://www.acmicpc.net/problem/18870keypoint)문제 설명이 난해하지만 결국 2번째 줄로 주어지는 숫자들의 낮은 순으로 랭크를 매기는 것이다.주어진 숫자들에서 가장 작은 수이면 0, 그 다음은 1, 그 다음은 2.
문제링크 : https://www.acmicpc.net/problem/16236이름은 귀엽지만 문제 난이도는 그닥 귀엽지않은 문제..
문제링크 : https://www.acmicpc.net/problem/1992출력형식 때문에 어려울 것이라 생각했으나 생각보다 쉬운 문제
문제링크 : https://www.acmicpc.net/problem/1916가중치 있는 그래프에서 어떤 두 노드 간의 경로 중 최소비용(or 최대비용) 경로를 찾는 알고리즘이다.우선순위 큐를 이용해 탐색할 경우 시간복잡도는 O(nlogN)이다.
문항출처 : https://www.acmicpc.net/problem/11779기존 문항의 업그레이드 버전 문항이다.(참고 : 1916번. 최소비용 구하기
문항출처 : https://www.acmicpc.net/problem/1991트리 순회에 관한 이론을 알고 있다면 간단한 문제이다.
문항출처 : https://www.acmicpc.net/problem/11404
문항출처 : https://www.acmicpc.net/problem/1865
문항출처 : https://www.acmicpc.net/problem/5576기본적으로 큐는 선입선출이고 우선순위큐는 다른 옵션을 정하지 않으면오름차순 정렬이기 때문에 poll을 통해서 값을 꺼낼 때 최소값 3개가 나오게 되므로내림차순으로 우선순위큐가 작동하도
자바의 자료구조를 나타내는 대표적인 인터페이스로 Map, Collection이 있다.이번 문제에서 사용할 Deque은 Collection, List, Deque 인터페이스를 상속하는LinkedList 구현체이다.배열의 처음과 끝에서 입출력이 가능하다는 특징을 가지고 있
문제는 해당 숫자배열을 버블 정렬로 정렬할 때 몇번의 Swap이 일어나는지 묻는 문제인데,직접 버블 정렬을 구현하고 Swap이 일어날 때마다 Count를 하게되면 시간초과가 난다.따라서 시간복잡도가 N^2 인 버블 정렬이 아닌 NlogN인 병합정렬을 이용하여 풀어야만
숫자범위 A에서 B가 주어지고,어떤 소수의 N제곱이 주어진 숫자범위 A,B에 속하는 경우의 수를 찾는 것이다.이 문제는 까다롭게 짚고 넘어가야할 부분이 2가지가 있는데,첫번째는 소수를 찾는 로직이고,두번째는 소수의 N제곱이 A,B에 속하는지('거의 소수'가 범위에 속하
맨 처음 C 물통에서 A 혹은 B 물통으로 물을 옮기기 시작해서물 옮기는 과정을 반복할 때A 물통이 비어있을 때 C 물통에 담겨있는 물의 양으로 가능한 경우를 모두 출력해야한다.따라서 각 과정마다 각 물통의 양을 가지고 너비우선탐색으로 모든 경우를 탐색한다.