목록분류 전체보기 (40)
공부일기
재귀 연습 문제를 풀어보았다.... 재귀는 참 어렵군,,, 코드를 보고 해석하는건 쉽지만 혼자 생각해내기는 너무 어렵다. 이 문제도 꽤나 애를 먹었다.정답 코드package reculsive;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Q4779 { static StringBuilder answer; public static void Khan(int start, int length) { if (length == 1) { return; } int newLength = length / 3; ..
정말 힘든 싸움이었다. 며칠동안 머리를 끙끙 앓았고 나에게 BFS에 대한 길을 뚫어준 문제. 최단 거리 문제에 대한 감각을 키워나가자! 정말 너무 뿌듯한 문제였다. 나는 이 문제를 접근할때 자꾸 DFS, 재귀로 접근을 했다. 더보기public static void isSafeR(int x, int y, int countR, boolean[][] visited) { if (x == N - 1 && y == M - 1) { if (countR = 0 && newY >= 0) { if ((newX 하지만 재귀로 풀어보니 막상 cnt를 어떻게 구해야할지, 최단 거리인데 한곳만 파고 들어가다가 끝이 나버리면은 그 길이 최단 거리가 아님에도 끝이나서 최단거리를 제대로 구하지..
DFS 연습문제로 제격이다. 비교적 쉬운 문제인 것 같다.정답 코드package graph;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Q1012 { static int M, N, cnt; static int[] row = {0, 0, 1, -1}; static int[] col = {1, -1, 0, 0}; public static boolean isSafe(int[][] arr, int x, int y) { if (x = 0 && y >= 0) && arr[x][y] ==..
1학기 종료 후,,, 오랜만에 백준을 풀기 시작했습니다... DFS와 BFS 정복해볼게요.DFS는 한놈만 팬다,,,, 재귀!BFS는 층별로 본다,,,, 큐로 구현, 최단거리 구하기!!!package graph;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.LinkedList;import java.util.Queue;import java.util.StringTokenizer;public class Q1260 { static int[][] edge_Arr; static boolean[] visited_Arr; static int N, M, V, co..
레전드 문제였습니다. 레전드. 레전드. 개레전드 에헿이~일주일이 뭐야 거진 한달이 걸렸네요. 완벽 풀이 들어가보겠습니다.자 우선, 병합정렬이란 ㅁㅜㅇㅓㅅㅇㅣㄹㄲㅏ??????????????????????????https://st-lab.tistory.com/233 자바 [JAVA] - 합병정렬 / 병합정렬 (Merge Sort)[정렬 알고리즘 모음] 더보기 1. 계수 정렬 (Counting Sort) 2. 선택 정렬 (Selection Sort) 3. 삽입 정렬 (Insertion Sort) 4. 거품 정렬 (Bubble Sort) 5. 셸 정렬 (Shell Sort) 6. 힙 정렬 (Heap Sort) 7. 합병(병합) 정렬 (Mergest-lab.tistory.com항상 깊은 감사를 표합니다. 너무나도..
엄청난 문제였다.문제 이해를 하는데 있어서 꽤 오랜 시간이 걸렸고, 내가 작성한 코드가 시간 초과가 나서 애를 많이 먹었다.결국, 나의 생각이 짧았던 것이었다.문제풀이 들어가보겠새우..우선 이 문제는 딱 보고 나서는 해석하기가 매우 힘들다.간단히 정리를 해보겠다.우선 첫째줄에 기본적으로 덱에 넣어햐 하는 수의 갯수N이 주어진다.두번째줄에는 0이냐, 1이냐에 따라서 큐를 만들거나 스택을 만든다.예를 문제에 주어진 것을 들자면, 1,2,3,4가 주어졌는데 0,1,1,0, 즉, 큐,스택,스택,큐 이다. 1은 큐에 저장2는 스택3도 스택4는 큐 이렇게 저장을 하고 M개 만큼 주어진 수를 한개한개씩 순차적으로 (큐,스택,스택,큐)에 넣겠다는 뜻이다.한개를 입력했을때 마지막에 뿅!하고 튀어나오는 수를 모아서 출력해..