코딩테스트

    탈옥 - 9376번

    탈옥 - 9376번

    내 코드 package com.company; import java.io.*; import java.util.*; // 최대한 문이 겹치도록 해야함 // -> 죄수 두명이 만나서 같이 나가도록 해서 문에 겹치도록 함 // 만나서 밖으로 나감 -> 반대로 하면 밖에서 죄수 두명이 만나는 지점까지 이동 // -> 상근이가 밖에서 안으로 들어온다고 생각해서 3명이 만나는 지점을 찾아줌 public class Main { static int[][] d = {{1, 0}, {-1, 0}, {0, 1}, {0, -1}}; static int h, w, answer; static int[][][] route; static int[][] arr; public static void main(String[] args) t..

    욕심쟁이 판다 - 1937번

    욕심쟁이 판다 - 1937번

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

    가스관 - 2931번

    가스관 - 2931번

    package com.company; import java.io.*; import java.util.*; public class Main { // 방향 (인덱스 0 -> 아래, 1 -> 위, 2 -> 오른쪽, 3 -> 왼쪽) static int[][] d = {{1, 0}, {-1, 0}, {0, 1}, {0, -1}}; // 아래쪽, 위쪽, 오른쪽, 왼쪽 순서대로 가능한 블록 static char[][] block = {{'|', '+', '2', '3'}, {'|', '+', '1', '4'}, {'-', '+', '3', '4'}, {'-', '+', '1', '2'}}; // 숫자 블록으로 바뀌는 방향 (-1은 못가는 방향) // 블록 1 이면 { 위에서 아래로 못들어옴 (-1), // 아래에서 ..

    구슬 탈출2 - 13460번

    구슬 탈출2 - 13460번

    내 코드 package com.company; import java.io.*; import java.util.*; public class Main { static int N, M, answer; static int[][] d = {{1, 0}, {-1, 0}, {0, 1}, {0, -1}}; static boolean[][][][] visited; static char[][] arr; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.rea..

    통나무 옮기기

    통나무 옮기기

    내 코드 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 = null; int answer = 0; int N = Integer.parseInt(br.readLine()); char[][] arr = new char[N][N]; ArrayList listB = new ArrayList(); // 초기 통나무 ArrayList listE = ne..

    2048 (Easy) - 12100번

    2048 (Easy) - 12100번

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

    경주로 건설

    경주로 건설

    내 코드 package com.company; import java.io.*; import java.util.*; public class Solution { public int solution(int[][] board) { int answer = Integer.MAX_VALUE; int N = board.length; // 방향 아래 0, 오른쪽 1, 위 2, 왼쪽 3 int[][] d = {{1, 0}, {0, 1}, {-1, 0}, {0, -1}}; int[][] arr = new int[N][N]; boolean[][][] visited = new boolean[N][N][4]; for (int i = 0; i < N; i++) { Arrays.fill(arr[i], Integer.MAX_VALUE..

    연구소 - 14502번

    연구소 - 14502번

    내 코드 package com.company; import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); int N = Integer.parseInt(st.nextToken()); int M = Integer.parseInt(st.nextToken()); int[][] d = {{1, 0}, {-1, 0}, {0, 1}, {0,..

    보석 쇼핑

    보석 쇼핑

    풀이 방법 투포인터 방법을 이용해서 풀이했다. set으로 등장하는 보석의 갯수를 구해주고 포인터를 이동하면서 map을 이용해서 보석의 갯수를 세어준다. start 포인터가 이동하면 map에서 갯수를 줄여주고 end 포인터가 이동하면 map에 갯수를 증가시켜주었다. 내 코드 import java.util.*; class Solution { public int[] solution(String[] gems) { int[] answer = {100000, 100000}; HashSet set = new HashSet(Arrays.asList(gems)); HashMap map = new HashMap(); int size = set.size(); int start = 0; int end = 0; int coun..

    동작 그만. 밑장 빼기냐? - 20519번

    동작 그만. 밑장 빼기냐? - 20519번

    풀이 방법 짝수, 홀수 번호인 카드를 나눠서 저장했다. 나에게 줄 차례에 밑장빼기 하는 경우와 상대방에게 줄 차례에 밑장 빼기 하는 경우 이 두가지를 생각해서 풀이 하면 된다. 내 코드 package com.company; import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); int N = Integer.parseInt(s..