분류 전체보기 (31) 썸네일형 리스트형 [백준/JAVA] 1916번 최소비용 구하기 문제 보러가기 1916번: 최소비용 구하기 첫째 줄에 도시의 개수 N(1 ≤ N ≤ 1,000)이 주어지고 둘째 줄에는 버스의 개수 M(1 ≤ M ≤ 100,000)이 주어진다. 그리고 셋째 줄부터 M+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 www.acmicpc.net [코드] import java.io.*; import java.util.*; class Main { static List lists; //트리 정보를 담는다. static int[] dijkstra; //최소 거리를 저장할 배열 public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new In.. [백준/JAVA] 7662번 이중 우선순위 큐 문제 보러가기 7662번: 이중 우선순위 큐 입력 데이터는 표준입력을 사용한다. 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터의 첫째 줄에는 Q에 적 www.acmicpc.net [소스] import java.io.*; import java.util.*; class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWrite.. [백준/JAVA] 17251번: 힘 겨루기 문제 보러가기 17251번: 힘 겨루기 과거 격투가로 명성을 떨치던 힘스트롱씨는 "힘 겨루기"라는 대회를 주최하여 전국에 홍보를 하였다. 모집 공고를 보고 전국 각지에서 많은 사람들이 모였는 데, 모집 공고에 '힘'이란 것에 대해 www.acmicpc.net [코드] import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamW.. [프로그래머스/JAVA] 경주로 건설 문제 보러가기 [코드] import java.util.Comparator; import java.util.PriorityQueue; class Solution { int answer = Integer.MAX_VALUE; boolean[][][] visit; int n; int[] dx = {1, 0, -1, 0}; int[] dy = {0, 1, 0, -1}; public int solution(int[][] board) { n = board.length; visit = new boolean[n][n][4]; BFS(board); return answer; } public void BFS(int[][] board) { PriorityQueue pq = new PriorityQueue(Comparator... [프로그래머스/JAVA] 합승 택시 요금 문제 보러가기 [코드] import java.util.*; class Solution { List graph = new ArrayList(); //노드 간의 관계 정보 int max = 100000 * 200 + 1; public int solution(int n, int s, int a, int b, int[][] fares) { int answer = Integer.MAX_VALUE; int[] startA = new int[n + 1]; int[] startB = new int[n + 1]; int[] start = new int[n + 1]; for (int i = 0; i cost[nowIndex]) continue; //가져온 비용이 기존의 비용보다 크다면 구할 필요가 없다 List edges.. [프로그래머스/JAVA] 여행경로 문제 보러가기 문제 설명 주어진 항공권을 모두 이용하여 여행경로를 짜려고 합니다. 항상 "ICN" 공항에서 출발합니다. 항공권 정보가 담긴 2차원 배열 tickets가 매개변수로 주어질 때, 방문하는 공항 경로를 배열에 담아 return 하도록 solution 함수를 작성해주세요. 제한사항 모든 공항은 알파벳 대문자 3글자로 이루어집니다. 주어진 공항 수는 3개 이상 10,000개 이하입니다. tickets의 각 행 [a, b]는 a 공항에서 b 공항으로 가는 항공권이 있다는 의미입니다. 주어진 항공권은 모두 사용해야 합니다. 만일 가능한 경로가 2개 이상일 경우 알파벳 순서가 앞서는 경로를 return 합니다. 모든 도시를 방문할 수 없는 경우는 주어지지 않습니다. 입출력 예 tickets return.. [프로그래머스/JAVA] 디스크 컨트롤러 문제 보러가기 문제 설명 하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 예를들어 - 0ms 시점에 3ms가 소요되는 A작업 요청 - 1ms 시점에 9ms가 소요되는 B작업 요청 - 2ms 시점에 6ms가 소요되는 C작업 요청 와 같은 요청이 들어왔습니다. 이를 그림으로 표현하면 아래와 같습니다. 한 번에 하나의 요청만을 수행할 수 있기 때문에 각각의 작업을 요청받은 순서대로 처리하면 다음과 같이 처리 됩니다. - A: 3ms 시점에 작업 완료 (요청에서 종료까지 : 3ms) - B: 1ms부터 대기하다가, 3ms 시점에 작업을 시작해서 12ms 시점에 작업 완료(요청에서 종.. [프로그래머스/JAVA] 섬 연결하기 문제 보러가기 문제 설명 n개의 섬 사이에 다리를 건설하는 비용(costs)이 주어질 때, 최소의 비용으로 모든 섬이 서로 통행 가능하도록 만들 때 필요한 최소 비용을 return 하도록 solution을 완성하세요. 다리를 여러 번 건너더라도, 도달할 수만 있으면 통행 가능하다고 봅니다. 예를 들어 A 섬과 B 섬 사이에 다리가 있고, B 섬과 C 섬 사이에 다리가 있으면 A 섬과 C 섬은 서로 통행 가능합니다. 제한사항 섬의 개수 n은 1 이상 100 이하입니다. costs의 길이는 ((n-1) * n) / 2이하입니다. 임의의 i에 대해, costs[i][0] 와 costs[i] [1]에는 다리가 연결되는 두 섬의 번호가 들어있고, costs[i] [2]에는 이 두 섬을 연결하는 다리를 건설할 때 .. 이전 1 2 3 4 다음