[백준] 18126번: 너구리 구구 - BFS (Java)
1 . 문제 설명너구리 구구는 N개의 방을 가지고 있다. 입구를 포함한 모든 방은 1부터 N까지의 번호가 있고, 입구는 1번이다. 입구는 1개이고, 입구와 모든 방들은 총 N-1 개의 길로 서로 오고 갈 수 있다. 입구에서 최대한 먼 방에 아이스크림을 숨기려고 한다.집 입구에서 아이스크림을 숨기려고 하는 방까지 이동하는 거리를 구한다.방 개수: 1 ≤ N ≤ 5,000모든 길의 정보 A, B, C: 1 ≤ A, B ≤ N, 1 ≤ C ≤ 1,000,000,000A번 방과 B번 방 사이를 양방향으로 연결하는 길의 길이가 C 시간 제한: 1초메모리 제한: 1024MB 2. 접근 방식인접 리스트(List[] list)로 방 정보를 저장한다. (방 → 트리)방 정보 클래스(Room): 방 번호(num, int)..
2025. 8. 11.
[백준] 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.
[백준] 18126번: 너구리 구구 - DFS (Java)
1 . 문제 설명너구리 구구는 N개의 방을 가지고 있다. 입구를 포함한 모든 방은 1부터 N까지의 번호가 있고, 입구는 1번이다. 입구는 1개이고, 입구와 모든 방들은 총 N-1 개의 길로 서로 오고 갈 수 있다. 입구에서 최대한 먼 방에 아이스크림을 숨기려고 한다.집 입구에서 아이스크림을 숨기려고 하는 방까지 이동하는 거리를 구한다.방 개수: 1 ≤ N ≤ 5,000모든 길의 정보 A, B, C: 1 ≤ A, B ≤ N, 1 ≤ C ≤ 1,000,000,000A번 방과 B번 방 사이를 양방향으로 연결하는 길의 길이가 C시간 제한: 1초메모리 제한: 1024MB 2. 접근 방식List[] room: N+1 크기의 ArrayList를 사용한다. (인접리스트로 방의 트리 정보 저장)N-1 개의 간선 정보를 ..
2025. 8. 8.