1. DP (부분합) 2. for문을 돌면서 하나씩 더해감 -> 더해온 값이 S보다 클경우 S보다 작아질 때 까지 0번 인덱스부터 증가해가면서 빼기. 3. 더 하고 뺄 때 cnt를 증가하고 감소시켜 최소값을 구함. 더보기 package baekjoon; import java.util.*; import java.io.*; public class 부분합_1806 { static int N, S, arr[]; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringToken..
// 알고리즘 1. 깊이 우선 탐색 + 시뮬레이션 2. 우선순위 큐 사용 -> 최단거리에 있는 손님중 행 / 열 순으로 먼저 선택하기 때문 3. 도착하는 지점의 r, c 좌표를 ArrayList로 저장. 4. 최단경로 손님 찾기 -> 손님 태우고 도착지로 출발 반복 더보기 import java.util.*; import java.io.*; public class 스타트택시_19238 { static int N, M, G, map[][], taxiR, taxiC, ans, result; static PriorityQueue q; static int[] dr = { -1, 0, 0, 1 }; // 상 왼 오 하 static int[] dc = { 0, -1, 1, 0 }; static ArrayList li..