728x90
https://www.acmicpc.net/problem/2502
2502번: 떡 먹는 호랑이
첫줄에 첫 날에 준 떡의 개수 A를 출력하고 그 다음 둘째 줄에는 둘째 날에 준 떡의 개수 B를 출력한다. 이 문제에서 주어진 D, K에 대해서는 항상 정수 A, B (1≤A≤B)가 존재한다.
www.acmicpc.net
import java.util.Scanner;
public class Main{
public static void main(String [] args){
Scanner sc = new Scanner(System.in);
int D = sc.nextInt(); // 할머니가 넘어온 날
int K = sc.nextInt(); // 호랑이에게 준 떡의 개수
int [] ddeok = new int [D]; // 넘어논 날 만큼 배열 생성
ddeok[D-1] = K; // 배열 떡의 마지막 부분은 마지막 날 호랑이에게 준 떡의 개수
int A = 1;
while(true){
ddeok[0] = A; // 1부터 시작
for(int i=A; i<K; i++){ // ddeok[1] 번의 범위 A보다 크고 K보다 작음
ddeok[1] = i;
for(int j=2; j<D-1; j++){ // 배열 채우기 D-2번 까지
ddeok[j] = ddeok[j-1] + ddeok[j-2]; // 오늘의 떡의 개수는 전날과 전전날에 준 떡의 개수의 합
}
// 배열 완성 후 떡의 마지막 인덱스 (K개) 가 뒤에서 첫번째, 두번째 배열의 합과 같으면
if(ddeok[D-1] == ddeok[D-2]+ddeok[D-3]){
System.out.println(ddeok[0]);
System.out.println(ddeok[1]); // 첫날과 두번째날에 준 개수 출력 후 종료
return;
}
}
A++; // 만약 같지않다면 A + 1 한 후 다시 배열 채우고 비교하기기
}
}
}
728x90
'코딩테스트 > 백준' 카테고리의 다른 글
[백준-자바] 4889번 안정적인 문자열 / 2022.03.10 (0) | 2022.03.10 |
---|---|
[백준-자바] 9012번 괄호 / 2022.03.08 (0) | 2022.03.08 |
[백준-자바] 2217번 로프 / 2022.03.07 (0) | 2022.03.07 |
[백준-자바] 11047번 동전 0 / 2022.02.19 (0) | 2022.02.19 |
[백준-자바] 11399번 ATM / 2022.02.19 (0) | 2022.02.19 |