백준

    소수상수근 - 9421번

    소수상수근 - 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번

    스카이라인 쉬운거 - 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번

    불 - 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번

    월드컵 - 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번

    간선 이어가기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번

    백양로 브레이크 - 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번

    회문 - 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번

    해킹 -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..

    소수 화폐

    소수 화폐

    풀이 방법 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번

    줄세우기 - 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..