백준
![소수상수근 - 9421번](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbmORhN%2FbtrstXwolM2%2F0W71Iodjahe6XQFlckXkeK%2Fimg.png)
소수상수근 - 9421번
내 코드 package com.company; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.HashSet; import java.util.Stack; import java.util.StringTokenizer; public class Main { static HashSet set = new HashSet(); public static void main(String args[]) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N..
![스카이라인 쉬운거 - 1863번](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBlGan%2FbtrstJRZFQC%2FcUWllgGi2q0P4PiVy5GDXk%2Fimg.png)
스카이라인 쉬운거 - 1863번
풀이 방법 스택을 이용해서 높이가 낮아질 때 마다 건물의 개수를 세어주었다. 스택에 현재 바뀐 높이보다 높은 건물을 모두 세어주면 된다. 내 코드 package com.company; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Stack; import java.util.StringTokenizer; public class Main { public static void main(String args[]) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(Sys..
![불 - 5427번](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb0uw8Q%2Fbtrrr44mdiI%2FTbT9CVkpmeMfAbcAYBFVDk%2Fimg.png)
불 - 5427번
내 코드 package com.company; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.PriorityQueue; import java.util.Queue; import java.util.StringTokenizer; public class Main { static char[][] arr; static int w, h, time; static Queue fireQ = new LinkedList(); static PriorityQueue pq = new PriorityQueue(); static int[][] way = {{0, 1}, {0, -1},..
![월드컵 - 6987번](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPR8MN%2FbtrrB4IIFxD%2F9uHSkeZPe6kn8mBmlOVG61%2Fimg.png)
월드컵 - 6987번
풀이 방법 처음엔 그냥 승 패를 비교하고 무승부일경우 따로 고려해서 풀이했는데 올바른 풀이가 아니었다. 고려해야 할 게 각 팀들은 중복없이 다른 팀들과 경기를 해야하고 같은 팀과 두번 이상 할 수 없다. 그래서 총 경기수는 30번이 된다. 이를 고려해서 dfs로 풀이했다. 내 코드 package com.company; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { static int[][] arr; static boolean check; static int[] teamA = {0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, ..
![간선 이어가기2 - 14284번](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGXdKe%2FbtrroYoGt5O%2FK10l1K0rf95qVIBakMn9a1%2Fimg.png)
간선 이어가기2 - 14284번
풀이 방법 처음에 문제가 잘 이해되지 않았다. "간선의 순서를 조정할때 최솟값을 구하시오" 이 말은 그냥 최소 경로를 구하라는 말과 같다. 그래서 다익스트라를 이용해서 풀이했다. 내 코드 package com.company; 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)); StringTokenizer st = new StringTokenizer(br.readLine()); int s, t; int n = Integ..
![백양로 브레이크 - 11562번](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAyIxO%2Fbtrq7UNec0N%2FpCdn9KuHxotPGCqofsGdw0%2Fimg.png)
백양로 브레이크 - 11562번
풀이 방법 그 동안 거의 모든 문제를 경로가 있으면 값을 주는 방식으로 생각해서 풀이했다. 이 문제는 생각을 좀 바꿔서 접근하는 게 필요했다. 일방통행을 양방향으로 바꾸는 비용을 구하는 문제이기 때문에 양방향 경로는 0, 일방통행 경로가 있으면 0을 주고 반대쪽으로는 1을 줘서 필요한 비용을 계산했습니다. (자기 자신으로는 무조건 갈 수 있기 때문에 0을 준다.) 내 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class Main { static int N, M,..
![회문 - 17609번](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEUmxH%2FbtrpjxmlKNX%2F4tjAjRhVNxI6n02ruYX8kk%2Fimg.png)
회문 - 17609번
내 코드 package com.company; import java.io.*; import java.util.*; public class Main { static int T; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); T = Integer.parseInt(br.readLine()); for (int tc = 0; tc < T; tc++) { StringBuilder sb = new StringBuilder(br.readLine()); int x = 0; int y = sb.length() - 1; int che..
![해킹 -10282번](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbMNB5W%2FbtrpcPutDh7%2Fzfttpiz2aikeoZaBl3YRO1%2Fimg.png)
해킹 -10282번
내 코드 package com.company; import java.io.*; import java.util.*; public class Main { static int T, n, d, c; static ArrayList list; static boolean[] check; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); T = Integer.parseInt(br.readLine()); for (int tc = 0; tc < T; tc++) { int count = 0; int gap = 0; StringTokeni..
![소수 화폐](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwaTBY%2FbtrpiuWQqDo%2FRWLC8ckuzTmFKyYXlALUL1%2Fimg.png)
소수 화폐
풀이 방법 2 dp[2] = dp[2] + dp[2-2]; // 0 + 1 dp[3] = dp[3] + dp[3-2]; // 0 + 0 dp[4] = dp[4] + dp[4-2]; // 0 + 1 dp[5] = dp[5] + dp[5-2]; // 0 + 0 dp[6] = dp[6] + dp[6-2]; // 0 + 1 dp[7] = dp[7] + dp[7-2]; // 0 + 0 dp[8] = dp[8] + dp[8-2]; // 0 + 1 3 dp[3] = dp[3] + dp[3-3]; // 0 + 1 dp[4] = dp[4] + dp[4-3]; // 1 + 0 dp[5] = dp[5] + dp[5-3]; // 0 + 1 dp[6] = dp[6] + dp[6-3]; // 1 + 1 dp[7] = dp[7] ..
![줄세우기 - 2631번](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwuKy2%2FbtrpcM4nVH4%2Fa1LGNP8H2KTKGKgolQRZvk%2Fimg.png)
줄세우기 - 2631번
내 코드 package com.company; import java.io.*; import java.util.*; public class Main { static int N; static int max = 0; static ArrayList list = new ArrayList(); static int[] dp; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); N = Integer.parseInt(br.readLine()); dp = new int[N]; for (int i = 0; i < N; i++) { dp[i..