Lv2. 요격 시스템 (Java)
·
Algorithm & Data Structures/Programers
백준의 회의실 배정과 같은 알고리즘이었던것 같다. 다만 IDE를 못쓰는게 힘들긴 했다. 적응이 필요할 듯 싶다. import java.util.*; class Solution { public int solution(int[][] targets) { int answer=0; Arrays.sort(targets,(o1,o2)->{ if(o1[1] == o2[1]) return o1[0]-o2[0]; return o1[1]-o2[1]; }); int end = targets[0][1]; answer++; for(int[] tar : targets){ if(tar[0] >= end){ end = tar[1]; answer++; } } return answer; } }
9465. 스티커 (Java)
·
Algorithm & Data Structures/BOJ
이문제는 DP(Dynamic Programing) 기법을 이용하여 푸는 문제였으며 입력받는 2차원 배열 map과 동시에 같은 크기의 DP 배열을 생성하여 각 행마다 최댓값을 구하여 넣어주는 식의 코딩을 하였고 마지막 N-1 행에서 0번열 1번열의 최댓값을 비교하여 답을 출력하는 방법으로 코딩하였다. package BOJ; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { static int[][] DP, map; static int N; public static void main(String[]..
4485. 녹색 옷을 입은 애가 젤다지? (Java)
·
Algorithm & Data Structures/BOJ
다익스트라의 개념을 알수 있는 문제다. 다익스트라는 BFS에서 Queue를 사용하지만 Compareable과 priority queue를 사용하여 BFS 처럼 모든 경우를 보는 것이 아닌 가중치가 최저인 값을 우선적으로 확인한다. 고로 BFS보다 빠른 것으로 나타난다. 음의 가중치일때는 사용할 수 없으며 출발점과 도착점이 정해진 경우에 사용가능한 다익스트라 알고리즘 이었다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.PriorityQueue; import java.util.StringTokenizer; public class b4485{ static c..
5607. 조합 (Java)
·
Algorithm & Data Structures/SWEA
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.StringTokenizer; public class Solution{ static int T; static long dp[]; static int n, r; static final int P = 1234567891; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(n..
17144. 미세먼지 안녕! (Java)
·
Algorithm & Data Structures/BOJ
위와 같은 시뮬레이션 문제였으며, 이문제는 위와 같이 순서가 모두 주어져 있어 함수로 구현만 하면 되는 문제였다. 공기청정기 작동 부분이 꽤 시간이 걸렸다. package BOJ; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Stack; import java.util.StringTokenizer; public class Main{ static int[][] map, copy; static int count = 0, R, C, T, answer=0; static int[] dx = {-1,0,1,0}, xy; static int[] dy = {0,1,0,-..