알고리즘/문제풀이 79

[시뮬레이션] 로봇청소기

백준 14503번 로봇청소기 (삼성 SW역량테스트 기출)https://www.acmicpc.net/problem/14503 import javax.swing.text.Position; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { static int N; static int M; static int dir; static int[][] map; static int cleanCount =0; static int[] rotate = {3, 2, 1, 0}; public static void main(String[] args) throws Exce..

[시뮬레이션] 주사위 굴리기

백준 14499번 주사위굴리기 (삼성 SW역량테스트 기출)https://www.acmicpc.net/problem/14499 import javax.swing.text.Position; import java.util.Scanner; public class Main { static int N; static int M; static int[][] map; static Position pos; static int K; static int[] dice = new int[7]; //1~4 static int[] dn = {0, 0, 0, -1, 1}; static int[] dm = {0, 1, -1, 0, 0}; public static void main(String[] args){ Scanner sc = ne..

[시뮬레이션] 뱀

백준 3190 뱀 (삼성 SW역량테스트 기출)https://www.acmicpc.net/problem/3190 import javax.swing.text.Position; import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class Main { static int N; static int K; //사과의 개수 static int L; //이동명령어 static int[][] map; static Queue body = new LinkedList(); static int dir = 1; static int count = 0; //뱀의 현재위치 static Position p; static int[] dn..

[BFS] 아기상어 뚜루루뚜루

백준 16236 아기상어 (삼성 SW 역량테스트 기출)https://www.acmicpc.net/problem/16236 package 아기상어; import java.util.*; public class Main { static int N; static int[][] map; static List fishs = new ArrayList(); //상,좌,우,하 순서로 탐색(부질없음) static int[] dn = {-1, 0, 0, 1}; static int[] dm = {0, -1, 1, 0}; static int shark=2; static int stomach=0; static Position p; public static void main(String[] args){ Scanner sc = ne..

[DFS]구슬 탈출2

백준 13460 구슬 탈출 2 (삼성 SW 역량테스트)https://www.acmicpc.net/problem/13460 졸라 어렵네..BFS로 했다가 실패하고, DFS로 갈아탐. package 구슬탈출2; import javax.swing.text.Position; import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class Main { static int[][] map; static int[][] visited; //빨간공의 방문지점 static int[][] visited2; //파란공의 방문지점 static int N; static int M; static Position red; static ..

[시뮬레이션] 나무 재태크

백준 16235번 나무 재태크 (삼성전자 SW 역량테스트 기출)https://www.acmicpc.net/problem/16235 package 나무재태크; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.PriorityQueue; import java.util.StringTokenizer; public class Main { static int N; //맵크기 static int M; //나무수 static int K; //년 static Ground[][] map; static int[] dy = {0, 1, 1, 1, 0, -1, -1, -1}; static int[] dx = {-1, -1, 0, 1..

직사각형 만들기

직사각형 만들기 - 3개의 점을 주고, 남은 한 점을 반환 - 직사각형은 x,y축과 평행하다. 안평행하면 복잡해짐.(CCW활용) https://www.acmicpc.net/problem/1485 import java.util.PriorityQueue; public class Solution { public static void main(String[] args){ int[][] v = { {1,1}, {2,2}, {1,2} }; int[] answer = new int[2]; PriorityQueue pq_x = new PriorityQueue(); PriorityQueue pq_y = new PriorityQueue(); //넣기 for(int i=0; i

[인덱스트리] 구간 합 구하기

백준 2042 구간 합 구하기https://www.acmicpc.net/problem/2042 package 구간합구하기; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { static int N; //숫자개수 static int M; //변경횟수 static int K; //구간합을 구하는 횟수 static long[] tree; static int k; static int treeSize; //크기는 2^k static int startIdx; //리프노드의 시작인덱스 public static void main(String[] args) t..

[그래프] LCA1

백준 11437 LCAhttps://www.acmicpc.net/problem/11437 1번은 DP안써도 풀림. public class Main { static int N; //노드개수 static int M; //공통조상을 알고싶은 쌍의 수 static List[] map; static boolean[] visited; static int[] depth; static int[] parent; public static void main(String[] args) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st; N = Integer.parseInt(br...

[다익스트라] 최단경로

백준 1753 최단경로https://www.acmicpc.net/problem/1753 52번의 제출. 계속 시간초과. 15시간만에 맞췄다. 다익스트라 개념을 잘못알고 있었음. 잘못된 코드import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Arrays; import java.util.PriorityQueue; import java.util.StringTokenizer; public class Main { static ArrayList[] adj; static int[] cost; //출발점에서 해당 지점까지 가는..