https://www.acmicpc.net/problem/1003
문제바로가기
1. 접근방법
1. 재귀함수로 0 1일때 리턴해주고 숫자세서 출력해줘야겠다.
2. 시간초과-> 0.25초라 재귀적으로는 풀지못하고 dp로 풀어야겠다고 생각함.
3. 0,1일때 각각 출력해줘야하므로 dp테이블 2개를 따로 선언해 각각 더해주고 출력해주기로 생각함.
2. 실수 및 느낀점
1. 문제를 꼼꼼히 읽지않고 바로 내 방식으로 품 만약 테케를 제공해주지 않거나 채점결과를 알려주지 않는 테스트라면 분명 좋지 않을 것이라고 생각함.
2. dp로 풀어도 좀더 효율적으로 짤 수 있지않을까 생각이 듬
3. 코드
import java.io.*;
public class Main {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int tc = Integer.parseInt(br.readLine());
int[] zero = new int[41];
int[] one = new int[41];
zero[0] = 1;
one[0] = 0;
zero[1] = 0;
one[1] = 1;
for(int i=2;i<=40;i++) {
zero[i] = zero[i-1]+zero[i-2];
one[i] = one[i-1]+one[i-2];
}
for(int t=0;t<tc;t++) {
int a=Integer.parseInt(br.readLine());
sb.append(zero[a]).append(" ").append(one[a]).append("\n");
}
sb.setLength(sb.length()-1);
bw.write(sb.toString());
bw.flush();
}
}
'acmicpc > Java' 카테고리의 다른 글
[Java] 백준 11054 가장 긴 바이토닉 부분 수열 (0) | 2022.04.11 |
---|---|
[Java] 백준 1613 역사 (0) | 2022.04.11 |
[Java] 백준 9012 괄호 클래스 2++ 도전기 (0) | 2022.04.09 |
[Java] 백준 19236 청소년 상어 (0) | 2022.04.07 |
[JAVA] 백준 11559 뿌요뿌요 Puyo Puyo (0) | 2022.04.06 |
댓글