코딩테스트

    해킹 -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 x n 타일링

    2 x n 타일링

    내 코드 class Solution { public int solution(int n) { int[] dp = new int[n + 1]; dp[0] = 1; dp[1] = 1; for (int i = 2; i

    소수 화폐

    소수 화폐

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

    124 나라의 숫자

    124 나라의 숫자

    class Solution { public String solution(int n) { StringBuilder sb = new StringBuilder(); int temp = 0; while (n > 0){ temp = n % 3; n /= 3; if (temp == 0){ n -= 1; sb.insert(0, "4"); } else { sb.insert(0, temp); } } return sb.toString(); } }

    그대, 그머가 되어 - 14496번

    그대, 그머가 되어 - 14496번

    내 코드 package com.company; import java.io.*; import java.util.*; public class Main { static int a, b, N, M; static int count = 0; static boolean[] visited; static ArrayList list = new ArrayList(); public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); a = Integer..

    악덕 영주 혜유

    악덕 영주 혜유

    풀이 방법 MST를 이용해서 모든 마을을 연결할 수 있는 최소 비용을 구해주었다. 그 경로 중 마을과 마을을 이동할 때 최악의 비용이 얼마인지 구해주기 위해 MST를 저장해주었다. 최악의 비용을 구하기 위해서는 임의의 한곳에서 dfs로 가장 먼 노드를 찾아주고 그 노드를 시작으로 dfs를 하면 나오게 된다. 내 코드 package com.company; import java.io.*; import java.util.*; public class Main { static int K, N, max, start; static int[][] arr; static int[][] arr2; static boolean[] visited; static Queue pq = new PriorityQueue(); public..

    플로이드 - 11404번

    플로이드 - 11404번

    내 코드 package com.company; import java.io.*; import java.util.*; public class Main { static int M, N; static int[][] arr; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); N = Integer.parseInt(br.readLine()); M = Integer.parseInt(br.readLine()); arr = new int[N + 1][N + 1]; StringTokenizer st = null; for (int i = ..

    쉬운 계단 수 - 10844번

    쉬운 계단 수 - 10844번

    내 코드 package com.company; import java.io.*; import java.util.*; public class Main { static int N; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); N = Integer.parseInt(br.readLine()); int[][] arr = new int[101][10]; for (int i = 1; i < 10; i++) { arr[1][i] = 1; } for (int i = 1; i < N; i++) { arr[i + 1][0] = arr..

    최소 힙 - 1927번

    최소 힙 - 1927번

    내 코드 package com.company; import java.io.*; import java.util.*; public class Main { static int N; static PriorityQueue pq = new PriorityQueue(); public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); N = Integer.parseInt(br.readLine()); int x = 0; for (int i = 0; i < N; i++) { x = Integer.parseInt(br.readLine()); if (..