코딩테스트
[백준] 1309번 '동물원' - Java
CuckooBird
2023. 7. 23. 21:49
https://www.acmicpc.net/problem/1309
1309번: 동물원
첫째 줄에 우리의 크기 N(1≤N≤100,000)이 주어진다.
www.acmicpc.net
문제
코드
맞았습니다가 뜬 코드입니다. - 메모리 17148KB | 시간 160ms | 코드 길이 681B
import java.io.*;
import java.util.*;
public class Main {
private static final BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
private static final BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
public static void main(String[] args) throws IOException {
int n = Integer.parseInt(bf.readLine());
ArrayList<Integer> arr = new ArrayList<>();
arr.add(1);
arr.add(3);
for(int i = 2 ; i <= n ; i++) {
int pp = arr.get(i - 2) % 9901;
int p = arr.get(i - 1) % 9901;
arr.add(pp*3 + (p-pp)*2);
}
bw.write(Integer.toString(arr.get(n) % 9901));
bf.close();
bw.flush();
bw.close();
}
}
이런식으로 arr[i-2] * 3 + (arr[i-1] - arr[i-2]) * 2 = arr[i] 라는 규칙을 찾아 풀었습니다.