본문 바로가기

알고리즘

(160)
[14502] 연구소 그나마 역량테스트 기출문제 중에 쉬운편에 속하는 문제인데, 저는 너무 어려워서 https://whereisusb.tistory.com/219 블로그를 참고하여 풀었습니다. 아직 실력이 한참 부족한 것 같습니다............................ 처음에 문제를 읽고 어떻게 3개의 벽을 배치할까 생각했는데, 2를 주변으로 BFS를 해서 1과 만나는 부분에 벽을 배치하려고 했습니다. 하지만 3번째 예제를 보면 1이 없는 상황도 있기 때문에, 한참 문제만 보다가 블로그를 참고해서 힌트를 얻었습니다. 문제를 꼼꼼하게 읽는 것이 정말 중요하다고 생각했습니다............ 입력의 범위를 보면 N과 M 둘다 8보다 작기 때문에 매우 작습니다. N과 M이 8로 가장 클 때를 살펴보아도 64개중에 3..
[9935] 문자열 폭발 import java.util.Scanner; // 9935 문자열 폭발 public class Main { static char[] stack; static String first, second; static int top=0; public static void main(String[] args) { Scanner sc = new Scanner(System.in); first = sc.next(); second = sc.next(); char[] f = first.toCharArray(); char[] s = second.toCharArray(); char last = s[s.length - 1]; stack = new char[f.length]; Outter: for (int i = 0; i < f...
[5430] AC import java.util.*; // 5430 AC public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int num = sc.nextInt(); Outter: for (int i = 0; i < num; i++) { Deque deque = new ArrayDeque(); String s = sc.next(); int b = sc.nextInt(); String arr = sc.next(); int dir = 0; arr = arr.substring(1, arr.length() - 1); StringTokenizer st = new StringTokenizer(arr, ",")..
[1182] 부분수열의 합 import java.util.Scanner; // 1182 부분수열의 합 public class Main { static int dep; static int N, S, sum, cnt; static int [] arr, ans; public static void main(String[] args) { Scanner sc = new Scanner(System.in); N = sc.nextInt(); S = sc.nextInt(); arr = new int[N]; ans = new int[N]; for(int i=0; i
[2206] 벽 부수고 이동하기 import java.util.Scanner; import java.util.Queue; import java.util.LinkedList; // 2206 벽 부수고 이동하기 public class Main { static int N, M, cnt; static int[][] map; static boolean visited[][][]; static Queue queue; static int[][] temp = { { 1, 0 }, { 0, 1 }, { -1, 0 }, { 0, -1 } }; static boolean flag; public static void main(String[] args) { Scanner sc = new Scanner(System.in); N = sc.nextInt(); M =..
[6603] 로또 import java.util.Scanner; // 6603 로또 public class Main { static int [] arr; static int N; static int [] ans; public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); while(true) { N = sc.nextInt(); if(N == 0) break; arr = new int[N]; ans = new int[N]; for(int i=0; i
[7562] 나이트의 이동 import java.util.Scanner; import java.util.Queue; import java.util.LinkedList; // 7562 나이트의 이동 public class Main { static int [][] map; static Queue queue; static boolean [][] visited; static int I, X, Y, cnt; static int[][] temp = {{1,2},{-1,2},{1,-2},{-1,-2},{2,1},{2,-1},{-2,1},{-2,-1}}; public static void main(String[] args) { Scanner sc = new Scanner(System.in); int T = sc.nextInt(); for(int..
[2293] 동전 import java.util.Scanner; import java.util.ArrayList; import java.util.Collections; // 2293 동전 1 public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int k = sc.nextInt(); int [] DP = new int[k+1]; int [] arr = new int[n]; for(int i=0; i