전체 글 (88) 썸네일형 리스트형 백준 2589 <보물섬> 일단 최단거리를 찾는 문제이기 때문에 BFS를 사용하는 것은 확실한 문제 그러나 가장 멀리 떨어진 지점을 어떻게 선택할까?라는 고민을 했던 문제. 일방적으로는 가장 끝지점을 고르면 되지 않을까? 하지만 예외상황이 있을 수 있음! 그렇기 때문에 생각한 방법은 완전 탐색으로 모든 지점에서 돌려보는 것!!! 시간 초과는 50*50이 맵 크기 이므로 50*50*50*50=6250000 625만 이므로 절대 터지지 않는다!! 그러므로 답은 bfs를 모든 지점에서 돌려 보는 것! 문제 풀이 1. L인 모든 좌표에서 BFS를 해서 가장 긴 길이를 리턴한다. 끝?! 좌표 x, y와 길이를 나타낼 d를 담을 클래스를 선언한다. BFS에서 핵심인 부분 뒤에 남은 큐가 없다는 것은 가장 긴 지점이므로 그 값을 저장한다. w.. 백준 4811 <알약> 오랜만에 DP문제를 풀어보았다. 딱 봐도 총길이가 2N이면 30개를 한다고 치면 3814986502092304번... 당연히 시간 초과가 나는 문제 이런 문제는 일반적으로 DP라고 보면된다. 이 문제의 dp는 언제가 끝나는 조건인가? 당연히 한 조각 전체 알약이 없거나 한 조각이 하나와 반 조각이 없을 경우이다! 그리고 차곡차곡 dp에 값을 저장해서 값이 있다면 그 값을 return~하는 그런 문제이다! 문제 풀이 dp [][] 배열을 생성하고 현재 find 함수에 (알약-1,1) 백준 14696 <딱지놀이> 각각의 라운드마다 A B 배열을 만들고 개수를 확인하면서 출력하는 문제이다. 전체 코드 더보기 package asd; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class sad { public static void main(String[] args) throws IOException { int n,k; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); n=Integer.parseInt(br.readLine()); for(int .. 이전 1 ··· 9 10 11 12 13 14 15 ··· 30 다음