백준133 [백준] 아기상어 / 자바 문제 레벨: G3알고리즘: 풀이시간: 12:34힌트 참조 유무:https://www.acmicpc.net/problem/162361 번째 시도: 실패 [알고리즘 선택 사고 과정]먹을 수 있는 것들을 다 먹어야 함(배열 탐색)먹을 수 있는 것에서 갈 때에는 최소한의 거리로 가야 함 -> BFS 선택되게 간단히 알고리즘 선택했다 [풀이 과정]반복문상어가 먹을 수 있는 것을 찾을 때까지 탐색(BFS)한다.만약 먹을 것이 없다면 반복문을 종료하고 답을 반환한다.자세한 건 주석 참조 import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayDeque;i.. 2024. 5. 25. [백준] 줄 세우기 / 자바 문제 레벨: G3알고리즘: 위상정렬 + 풀이시간: 1시간 힌트 참조 유무: 유https://www.acmicpc.net/problem/22521 번째 시도 가장 단순하게 구현을 하면 학생수만큼의 길이를 가진 배열을 만들고 문제에서 조건이 주어질 때마다 배열의 원소들의 위치를 바꿔주면 됩니다. 그러나 이렇게 하면 시간 복잡도에서 당연히 초과 판정을 받게 될 겁니다. 그렇기 때문에 알고리즘을 써야 하고 이때 사용할 수 있는 알고리즘은 위상 정렬(Topological Sort)이 있습니다. 위상 정렬(Topological Sort)은 그래프에서 선후관계 조건이 있을 때 이를 고려해서 노드의 순서를 정렬할 수 있습니다. (위상정렬은 순환그래프가 포함될 시 사용하지 못한다.) import ja.. 2024. 5. 24. [백준] 별 찍기 -10 / 자바 문제 레벨: G5알고리즘: 풀이시간: 1시간힌트 참조 유무: 무https://www.acmicpc.net/problem/24471 번째 시도 [풀이 사고 과정]처음 주어진 패턴으로 부분요소들을 크게 업데이트 해가는 문제구나 라는 생각즉, 재귀함수 문제라 생각풀이는 코드 주석 참조import java.io.BufferedReader;import java.io.InputStreamReader;public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); .. 2024. 5. 23. [백준 15686] 치킨배달/ 자바 / 브루트 포스(그래프순회) 문제 레벨: G5알고리즘: 브루트 포스(그래프순회) 풀이시간: 1시간 힌트 참조 유무: 유https://www.acmicpc.net/problem/15686 1 번째 시도: 실패 여느 BFS 문제랑 같다 생각하고 작성하였다import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.HashSet;import java.util.LinkedList;import java.util.Queue;import java.util.Set;//String[] s = br.readLine().split(" ");//Integer.parseInt(br.readLine());//i.. 2024. 5. 21. [백준] ACM Craft/자바 문제 레벨: G3알고리즘: 위상정렬 + 최대값 갱신 풀이시간: 2시간힌트 참조 유무: 유https://www.acmicpc.net/problem/10051 번째 시도: 실패 입력을 받을 때마다 해당번호의 짓는 시간을 업데이트를 해줬다.결과는 실패이유는 입력 순서가 차례대로일거라고 가정했기 때문이다.import java.util.*;import java.io.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N .. 2024. 5. 16. [백준] 내리막길/자바 문제 레벨: G4알고리즘: DFS + DP 풀이시간: 40분 힌트 참조 유무: 유https://www.acmicpc.net/problem/15201 번째 시도 1. 먼저 (0,0) 위치에서 시작하므로 dp[0][0]값을 0으로 초기화한다.2. (0,0) 위치에서 상하좌우로 이동하면서 map[x][y] > map[nx][ny]인 위치에 대해서만 DFS 메소드를 재귀호출3. 재귀호출을 통해 (M-1, N-1)위치에 도달하는 경로의 개수를 찾는다.4. 이렇게 찾은 경로의 개수를 dp[0][0] 값에 더해준다.5. 모든 이동 가능한 위치에 대해 위 과정을 반복6. dp[0][0] 값이 결정되면 해당 값을 리턴한다.위와 같은 과정을 거쳐서 dp[0][0] 값을 찾게 된다. 만약 dp[0][0].. 2024. 5. 13. [백준] 토마토/자바 문제 레벨: G5알고리즘: BFS풀이시간: 2시간힌트 참조 유무: 유https://www.acmicpc.net/problem/7569 1 번째 시도 기존 bfs와 다른 점은 하나인 줄 알았다. 방향이 상,하가 추가 되서 총 6개를 탐색해야 된다는 점이다 import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.LinkedList;import java.util.PriorityQueue;import java.util.Queue;public class Main { static int[] xx; static int[] yy; public stat.. 2024. 5. 12. [백준] 1로 만들기/자바 문제 레벨: S4알고리즘: DP풀이시간: 힌트 참조 유무:https://www.acmicpc.net/problem/14631 번째 시도 귀여운 수준의 구현이어서 바로 작성해보았다import java.util.*;import java.io.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); int cnt = 0; .. 2024. 5. 9. [백준] 연구소 / 자바 / 브루트포스(그래프 순회) 문제 레벨: G4알고리즘: 브루트포스(그래프 순회)풀이시간: 1시간힌트 참조 유무: 유https://www.acmicpc.net/problem/145021 번째 시도 벽을 세우는 규칙이 안 보이는 것 같다결국 완전탐색 선택또 하나, 힌트인 것은 입력 값 N,M이 8이하이다. 결국 완전탐색을 해도 된다는 소리이다.깊은 복사 필수!!1. 얕은 복사 : '주소 값'을 복사한다는 의미입니다. 2. 깊은 복사 : '실제 값'을 새로운 메모리 공간에 복사하는 것을 의미하며, dfs로 벽을 세울 경우의 수를 탐색하고 3개의 벽을 세우면 bfs함수 호출하여 바이러스를 퍼트리기바이러스를 퍼트릴 때 원본배열에서 퍼트리는 것이 아니라 얕은 복사를 한 배열에 퍼트린 것이다. import java.io.Bu.. 2024. 5. 8. 이전 1 ··· 10 11 12 13 14 15 다음