본문 바로가기

CS/Algorithm90

[알고리즘][swea][1208] Flatten [알고리즘][swea][1208] Flatten 문제 https://www.swexpertacademy.com/main/solvingProblem/solvingProblem.do 풀이 Collections 을 이용하여 빠르게 Sort를 하려고 ArrayList에 값을 입력받았습니다. Max값과 Min값의 차이가 0이나 1일 경우 dump값과 관계없이 for문을 빠져나갑니다. 0, 1이 아닐 경우, Sort 후 Max값, Min값을 찾아 각각 -1, +1을 해주고 다시 Sort합니다. 코드 import java.util.ArrayList; import java.util.Collections; import java.util.*; class Solution { public static void main(Str.. 2018. 10. 3.
[알고리즘][DFS][2251] 물통 [알고리즘][DFS][2251] 물통 문제 https://www.acmicpc.net/problem/2251 풀이 모든 경우를 탐색하여 풀어야 하는 문제입니다. 또한 문제에서 한 물통이 비워질 때 까지 붓거나 다른 물통이 가득 찰 때까지 물을 부을 수 있다는 것을 고려하여 풀어야 합니다. 물이 넘칠 때와 그렇지 않을 때를 고려하여 문제를 풀었고, A에서 C로, B에서 C로 물을 옮길 때에는 물이 넘칠 가능성이 없기 때문에 IF절을 쓰지 않았습니다! 코드 package algorithm_DFS; import java.util.Scanner; public class q_2251 { static boolean[][] visited = new boolean[201][201]; static boolean[] an.. 2018. 9. 27.
[알고리즘][문자열][1120] 문자열 [알고리즘][문자열][1120] 문자열 문제 https://www.acmicpc.net/problem/1120 풀이 1. 두 문자열의 갯수 차이를 알아낸다.2. 짧은 문자를 한 칸씩 미뤄가면서 비교한다.3. 비교했을 때 문자가 다를 경우 counting하여 배열에 저장한다.4. 배열에 저장된 값들을 비교하여 가장 작은 값을 출력해준다. 코드 123456789101112131415161718192021222324252627282930package algorithm_String; import java.util.Scanner; public class q_1120 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); c.. 2018. 5. 4.
[알고리즘][DFS][2573] 빙산 문제 https://www.acmicpc.net/problem/2573 풀이 1. 빙산이 몇 조각인지 dfs로 탐색한다.2. 0 조각일 경우, 알고리즘을 마친다. 한 조각일 경우, 빙산 녹이는 함수를 돌린다. 두 조각 이상일 경우, result를 출력하고 끝낸다.3. 빙산을 녹이는 함수는 사방의 함수를 탐색하여 counting하여 temp배열에 넣는다.4. 빙산 배열에서 temp배열에 카운팅된 수들을 빼준다. 코드 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868.. 2018. 5. 1.