본문 바로가기

(구) 자료/Baekjoon Online Judge24

[DP] 백준 #1463 / 1로 만들기(+ Scanner와 BufferedReader의 차이) 뭐... 문제는 요약할게 없으니 패스! DP 문제 중에서도 중~하위 문제라고 하는데 정답률이 ㄷㄷ... 맨 처음에는 역시나! 백트래킹 기법으로 풀어봤지만, 역시나 DP문제를 백트래킹으로 푸는건 위험한듯 하다... (Memoization 기법을 사용하지 않는다면..) 그래서 그냥 DP로 풀었다. 12345678910111213141516171819import java.util.Scanner; public class boj_1463 { public static void main(String args[]) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int dp[] = new int[N+1]; dp[1] = 0; for(int i=2;i dp[i.. 2017. 12. 1.
[DP] 백준 #11052 / 붕어빵 판매 오늘은 DP문제. 삼성의 '퇴사'문제와 SW Expert Academy의 '수영장' 문제와 비슷한 느낌을 받았다. 그래서 처음에는 DFS로 Backtracking 기법을 이용했는데, 시간 초과가 떴다... 코드는 다음과 같다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556/* boj.kr/11052 붕어빵 판매하기 문제 * * 1. 붕어빵 장수 해빈이에게는 현재 붕어빵이 N개 남아있다. * 2. 붕어빵 세트 메뉴를 구성해서 수익을 최대로 만들어보려고 한다. * 3. 세트 메뉴의 가격은 이미 정해져 있다. * 4. 붕어빵 i개로 이루어진 세트 메뉴의 가격은 Pi원이다... 2017. 11. 29.
[BFS] 백준 #2178 / 미로 탐색 SW Expert Academy의 '탈주범 검거' 문제와 풀이 방식이 동일하다. BFS의 Level 단계를 파악하는 것이 핵심 포인트! 그래서 파라미터로 time을 넘겨줘야 한다. 우선 문제 파악부터 해보쟈 [문제 요약] 1. N x M 크기의 배열의 미로가 있다.2. 1은 이동 가능, 0은 이동 불가능을 의미한다.3. (1,1)에서 출발하여 (N,M)의 위치로 이동할 때, 지나야 하는 최소의 칸 수는~?4. 칸을 셀 때는, 시작 위치 (1,1)과 도착 위치 (N,M)을 포함해야 한다. [Input] 1. 행 N, 열 M 입력 2. N x M의 미로가 주어진다. 각 수는 붙어서 입력으로 주어진다. ㄴ Re : 붙어서 입력 받아지는 숫자들을 분리해서 맵에 넣어주어야 한다. 3. 항상 도착 위치로 이동할 수.. 2017. 11. 29.
[BFS] 백준 #7576 / 토마토문제 문제를 꼼꼼히 읽고, 조건을 먼저 파악한 뒤에 문제를 푸는 습관을 들여야겠다. 간단한 문제인데, 너무 오래걸렸다. 이 문제를 풀면서 얻은바가 있다면 C++의 pair 는 JAVA에서 Point Class 사용 방법은 다음과 같다. 1. java.awt.Point를 import2. Queue A = new LinkedList(); 로 선언.3. A.add(new Point(a,b))로 삽입 가능.4. 여기서 주의! A.poll 해버리면 두 좌표 모두 빠져나가기 때문에 A.peek().x, A.peek().y로 값을 뽑아낸 뒤에 A.poll로 빼내준다. java.awt.Point가 궁금해서 Java Flatform에서 찾아서 요약한 결과 다음과 같았다. public class인 Point class는 Poi.. 2017. 11. 29.