본문 바로가기

IT warehouse

(138)
[Java] 백준 알고리즘 16236번 문제 : 삼성 SW 역량 테스트 기출 문제 - 아기 상어 (BFS, 너비 우선 탐색) --- 문제 --- --- 코드 --- BFS 로 먹이로 가능한 현재지점에서 가장 가까운 후보군들을 다 찾고, PriorityQueue 성질을 이용해서, 그 후보군들 중에 가장 행,렬이 작은 물고기를 선별하면 됩니다. 이와 같은 과정을 먹을 물고기가 있을 때까지 반복하면 됩니다. import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; import java.util.StringTokenizer; import java.util.ArrayList; import java.util.LinkedList; import java.util.PriorityQueue; import java.util.Queue; /..
[Java] 백준 알고리즘 14891번 문제 : 삼성 SW 역량 테스트 기출 문제 - 톱니바퀴 (Simulation, 시뮬레이션) --- 문제 --- --- 코드 --- LinkedList 를 활용해서 톱니 바퀴가 반시계 방향으로 이동하면 첫번째 값을 맨 뒤로 옮기고 시계 방향으로 이동하면 맨 뒤의 값을 첫번째로 옮기면서 회전 시켜 주었습니다. import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; import java.io.IOException; import java.util.LinkedList; public class Bj14891 { public static LinkedList[] wheels; public static boolean[] between; public static void main(String..
[Java] 백준 알고리즘 14890번 문제 : 삼성 SW 역량 테스트 기출 문제 - 경사로 (Simulation, 시뮬레이션) --- 문제 --- --- 코드 --- 행마다 , 열마다 다음 조건에 맞춰서 검사를 진행해주면 된다. 1. 이전 숫자 - 다음 숫자를 구한다 1-1. 차이가 -1 이면 다음 숫자가 작은 것이므로, 앞으로 이 작은 숫자가 L-1 개가 더 나와야 함 (chekc = L-1) check 가 0이 안되면 못가는 걸로 결론 1-2. 차이가 1 이면 다음 숫자가 큰 것이므로, 지금까지 이전 숫자가 L가 이상 나왔는지 확인 (path>=L) 안나왔으면 길 못가는 걸로 결론 1-3. 차이가 0 이면 이전 숫자의 길이 늘어난 것이므로 길 추가 (++path) 1-4. 차이가 -1 보다 작거나 1보다 큰 경우, 경사로를 못 놓으므로 길 못 가는 걸로 결론 짓기 2. 그 행 혹은 열이 결국 지나가는 게 가능하다고 결론 나면..
[Java] 백준 알고리즘 14889번 문제 : 삼성 SW 역량 테스트 기출 문제 - 스타트와 링크 (DFS ,깊이 우선 탐색) --- 문제 --- --- 코드 --- import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Bj14889 { public static int N, half, total, min; public static int[][] table; public static boolean[] visited; public static int stoi(String s) { return Integer.parseInt(s); } public static void main(String[] args) throws IOException { ..
[Java] 백준 알고리즘 14888번 문제 : 삼성 SW 역량 테스트 기출 문제 - 연산자 끼워넣기 (BFS ,너비 우선 탐색) --- 문제 --- --- 코드 --- import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; public class Sw14888 { public static int stoi(String s) { return Integer.parseInt(s); } public static int[] numbers, operates; public static int N, result; public stati..
[Java] 백준 알고리즘 14503번 문제 : 삼성 SW 역량 테스트 기출 문제 - 로봇 청소기 (Simulation ,시뮬레이션) --- 문제 --- --- 코드 --- import java.util.StringTokenizer; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Bj14503 { public static final int[][] DIRECTIONS = {{-1,0},{0,1},{1,0},{0,-1}}; public static int N,M; public static int[][] map; public static int clean; public static int stoi(String s) { return Integer.parseInt(s); } public static vo..
[Java] 백준 알고리즘 14502번 문제 : 삼성 SW 역량 테스트 기출 문제 - 연구소 (DFS, 깊이 우선 탐색, BFS, 너비 우선 탐 --- 문제 --- --- 코드 --- 벽 3개 가능한 경우 모두 깊이 우선 탐색 (dfs) 해주고,각 탐색 기간에 바이러스 전파 모습을 너비 우선 탐색 (bfs) 해주는 탐색 종합 문제였습니다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; public class Bj14502 { public static int N,M; public static int[][] map; public ..
[Java] 백준 알고리즘 14500번 문제 : 삼성 SW 역량 테스트 기출 문제 - 테트로미노 (DFS, 깊이 우선 탐색) --- 문제 --- --- 코드 --- 면적을 넓혀가며 점수를 구하다 보니, BFS 가 더 쉽겠다고 생각했지만, visited 와 같은 방문 체크가 필요한 상태에서 bfs 를 구현하기에는 복잡한 것 같아 DFS 를 선택하게 되었습니다. 이 문제의 특이점은 DFS 와는 별도로 더 탐색이 필요한 모양이 있었다는 것 입니다. 바로 특수한 'ㅗ','ㅜ','ㅓ','ㅏ' 모양을 dfs와 별도로 탐색해야 했습니다. 전체 구현은 다음과 같습니다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Bj14500 { publ..

728x90
반응형