[백준] 14495번: 피보나치 비스무리한 수열 (Java)
1 . 문제 설명피보나치 비스무리한 수열은 f(n) = f(n-1) + f(n-3)인 수열이다.f(1) = f(2) = f(3) = 1 이며 나열하면 → 1, 1, 1, 2, 3, 4, 6, 9, 13, 19, …자연수 n을 입력받아 n번째 피보나치 비스무리한 수열을 구한다.자연수 n: 1 ≤ n ≤ 116시간 제한: 2초메모리 제한: 512MB 2. 접근 방식동적 계획법(DP) 방식을 사용한다.dp 배열 (long[] dp)을 사용하여 초기값(1, 2, 3번째는 1)을 설정한 후,점화식(f(n) = f(n-1) + f(n-3)) 기반으로 n번째까지 수를 구하고, 출력한다. 3. 틀린 이유 설명백준 제출 시 “런타임 에러” 발샘import java.io.*;public class Main { pub..
2025. 8. 8.
[백준] 11048번: 이동하기 (Java)
1. 문제설명NxM 크기의 미로가 있고, 가장 왼쪽 윗 방은 (1, 1), 가장 오른쪽 아랫 방은 (N, M)이다. 준규는 현재 (1, 1)에 있고, (N, M)으로 이동하려고 한다. 준규가 (r, c)에 있으면, (r+1, c), (r, c+1), (r+1, c+1)로 이동할 수 있고, 방문하는 방의 사탕을 모두 가져갈 수 있다. 준규가 가져올 수 있는 사탕의 최댓값을 구하는 문제이다.시간 제한: 1초메모리 제한: 256MB 2. 접근 방식DP 방법을 사용한다.dp 배열(2차원 배열)에 해당 칸까지 이동했을 때 얻을 수 있는 사탕의 최댓값을 저장한다.DP 점화식: 현재 칸에 도달할 수 있는 세 가지 경로(윗칸, 왼쪽칸, 왼쪽 위 칸)에서 가장 많은 사탕을 얻는 경로를 찾는다.도착점(n-1, m-1)에서..
2024. 9. 24.