본문 바로가기

Algorithms/Baekjoon

(24)
[Java] 백준 알고리즘 1543번 문제 : 문서 검색 (문자열, String) --- 문제 --- --- 코드 --- import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Bj1543 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String paper = br.readLine(); String target = br.readLine(); int res = 0; for(;paper.indexOf(target)!=-1; ++res) { paper = pape..
[Java] 백준 알고리즘 4949번 문제 : 균형잡힌 세상 (문자열, String) --- 문제 --- --- 코드 --- import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class Bj4949 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); String s; s = br.readLine(); while(!s.equals(".")) { String res = "yes"; char[] stack =..
[Java] 백준 알고리즘 20055번 문제 : 삼성 SW 역량 테스트 기출 문제 - 컨베이어 벨트 위의 로봇 (Simulation, 구현) --- 문제 --- --- 코드 --- import java.io.IOException; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; import java.util.Arrays; import java.util.LinkedList; public class Bj20055 { static int N,K; static int result, zero_cnt; static int[] belt; static boolean[] robot; static int stoi(String s) { return Integer.parseInt(s); } static void move() { // fi..
[Java] 백준 알고리즘 19236번 문제 : 삼성 SW 역량 테스트 기출 문제 - 청소년 상어 (DFS, 깊이 우선 탐색) --- 문제 --- --- 코드 --- 이 문제의 특이 사항은 다음과 같습니다. dfs 의 한 스텝이 끝나고 이전 스텝으로 돌아올 때, 원래의 공간, 물고기 상태로 다시 돌아와야 하는데, 이 부분이 매우 복잡합니다. 따라서 한 스텝마다 공간과 물고기의 상태를 따로 복사해서 그 복사한 정보를 dfs 마다 넘겨주는 상태로 코드를 짰습니다. 메모리를 더 쓰게 되기는 하지만, 애초에 문제의 표본이 N은 4이고 (4x4 공간), dfs 의 스텝(깊이)이 많은 편이 아니기 때문에(최대 15개) 메모리 제한에 걸리지 않는다고 판단했습니다. 상어는 방향에 있는 칸으로 이동할 수 있는데, 한 번에 여러 개의 칸을 이동할 수 있다. 상어가 물고기가 있는 칸으로 이동했다면, 그 칸에 있는 물고기를 먹고, 그 물고기의 방향을..
[Java] 백준 알고리즘 16234번 문제 : 삼성 SW 역량 테스트 기출 문제 - 인구 이동 (BFS, 너비 우선 탐색) --- 문제 --- --- 코드 --- 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.Queue; // 1. 연합 국가들을 묶는 클래스 class United{ ArrayList contries; int sum,y,x; // 1-1. 시작 나라 기준으로 초기화 United(int y,int x,int self){ this.contries = new ArrayList(); this.sum = sel..
[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. 그 행 혹은 열이 결국 지나가는 게 가능하다고 결론 나면..

728x90
반응형