시간 & 메모리 제한
문제
입력 & 출력
브루드 포스를 이용한 문제풀이
package com.Back;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Back_2502 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int D = Integer.parseInt(st.nextToken());
int K = Integer.parseInt(st.nextToken());
int[] arr= new int[D];
for (int i = 1; i <= K/2; i++) {
for (int j = i+1; j < K; j++) {
arr[0]=i;
arr[1]=j;
for (int k = 2; k < D; k++) {
arr[k]=arr[k-1]+arr[k-2];
}
if(arr[D-1]==K) {
System.out.println(arr[0]);
System.out.println(arr[1]);
System.exit(0);
}
}
}
}
}
- 브루트 포스를 이용해서 문제를 풀었습니다.
- 일단 값을 받아왔고, 이중 for문을 통해서 a와 b의 값을 정해줬습니다.
- 이때, a의 경우 최대 값을 K/2라고 잡았습니다. 예제와 같이 41이라면 a 가 최대가 20 이라면 b의 경우는 21이 됩니다.
즉, a의 범위를 절반만 잡아도 충분히 결과를 얻을 수 있습니다.
- 값을 찾으면 출력을 해주고 바로 종료를 시켜줍니다.
'Algorithm > 백준 알고리즘' 카테고리의 다른 글
백준_9465 스티커(자바) / DP (0) | 2021.05.10 |
---|---|
백준_1890 점프(자바) / DP (0) | 2021.05.08 |
백준_1743 음식물 피하기(자바) / DFS & BFS (0) | 2021.05.06 |
백준_2846 오르막길(자바) / 구현 (0) | 2021.05.05 |
백준_5557 1학년(자바) / DP (0) | 2021.05.04 |