본문 바로가기
My Image
반응형

Algorithm50

[BFS] 토마토(Tomato) BackJoon #7576 - 토마토(Tomato) https://www.acmicpc.net/problem/7576 백준 쉬운 토마토 문제 BFS로 돌리면 쉽게 해결 할 수 있습니다. ㅎㅎ package BackJoon.Graph.BFS; import java.awt.Point; import java.util.ArrayList; import java.util.Arrays; import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class Tomato2 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int m =.. 2018. 4. 15.
[Recursion] 하노이(Hanoi) BackJoon #1914 - 하노이(Hanoi) https://www.acmicpc.net/problem/1914 하노이 솔루션 우선 n개를 쌓을 경우 n번째를 제외한 n-1를 하나로 간주하고 3가지 스텝을 거치면 풀린다.... 1. 1기둥에 있는 n-1개를 3기둥을 이용하여 2기둥으로 옮긴다!2. 1기둥에 있는 1개를 3기둥으로 옮겨라3. 2기둥에 있는 n-1개를 1기둥을 이용하여 3기둥으로 옮겨라! ** 문제는 출력초과 **- 이 부분은 좀 더 연구가 필요하다....아시는 분은 저에게 가르침을... package BackJoon.Recursion; import java.util.Scanner; public class Hanoi { public static void main(String[] args).. 2018. 1. 21.
[DFS] 경로찾기(Find Directions) BackJoon #11403 - 경로찾기(Find Directions) https://www.acmicpc.net/problem/11403 위 문제는 DFS 탐색 예제입니다... DFS는 보통 재귀함수 (Recursion)을 사용하는데, 재귀함수에 대한 연습도 할 겸 풀어보시면 좋습니다. 우선 기본적으로 DFS 재귀함수를 통해 i에서 j로가는 경로가 있는지 c 1차원 배열에 경로 여부를 체크합니다. 또한, 다음 경로탐색을 위해 Arrays.fill 메서드를 이용 0으로 초기화 해줍니다. n+1로 n값에 +1을 한 이유는 편의상 배열의 첨자와 정점의 싱크를 맞추기 위해서 입니다. 0번 인덱스는 신경쓰지 않으셔도 됩니다. 즉 정점은 1부터 시작하니 그냥 2차원배열이든 1차원배열이든 1첨자로 부터 시작하기 위.. 2017. 11. 22.
[DP] 가장 큰 정사각형 찾기 (find Largest Square) Programmers Level_03 가장 큰 정사각형 찾기 (find Largest Square)O와 X로 채워진 표가 있습니다. 표 1칸은 1 x 1 의 정사각형으로 이루어져 있습니다. 표에서 O로 이루어진 가장 큰 정사각형을 찾아 넓이를 반환하는 findLargestSquare 함수를 완성하세요. 예를 들어12345XOOOXXOOOOXXOOOXXOOOXXXXX가 있다면 정답은12345XOOOXXOOOOXXOOOXXOOOXXXXX가 되며 넓이는 9가 되므로 9를 반환해 주면 됩니다. 저는 점화식 DP로 풀었습니다.1 11 1 인 경우 (1,1) 에 있는 값은 (1,0),(0,0),(0,1) 3방향에 있는 값들이 모두 1이상이면 이 3가지 값 중에 가장 작은 값에서 +1을 한 값이 결국 (1,1)의 값.. 2017. 11. 10.
반응형