반응형
팩토리얼에 관한 문제였다. 주어진 입력 크기의 인자의 최대 크기가 14, 14 길래. 값이 작으므로 그냥 배열 안에 미리 값을 만들어 놓고 사용해도 되겠다고 생각했다. 그리고 이 값을 만들어 놓는데 구현할 방법을 포문으로할지 재귀함수로할지 생각했는데 재귀함수가 속도가 느리다 보니 빠르게 포문으로 해결하고자 했다.
import java.util.Scanner;
public class Main {
public static void main(String args[])
{
int[][] a = new int[15][15];
for(int i=0; i<15; i++) {
for(int j=1; j<15; j++) {
if(i==0)
a[i][j]= j;
else {
for(int k = 1; k <=j; k++) {
a[i][j] += a[i-1][k];
}
}
}
}
Scanner scanner = new Scanner(System.in);
int T = scanner.nextInt();
for(int i =0; i<T; i++) {
int x = scanner.nextInt(), y = scanner.nextInt();
System.out.println(a[x][y]);
}
}
}
/*
예시
1층 : 1 3 6 ......
0층 : 1 2 3 4 5 6
*/
음.. 값을 이렇게 만들어 놓기 보다 그냥 값을 받은대로 그 값까지만 실행하는게 나을수도 있지만 시간초도 넉넉하고 해서 그냥 이렇게 했다.. 이런 나태한 습관이 한두번 이어지다 보면 실력이 발전되지 못하므로... 앞으론 최대한 타이트하게 구현하도록 반성하자.
반응형
'[백준]' 카테고리의 다른 글
[BaekJoon/백준] 1978번 (0) | 2020.09.20 |
---|---|
[BaekJoon/백준] 1011번 풀이 (0) | 2020.09.18 |
[BaekJoon/백준] 10250번 (0) | 2020.09.15 |
[BaekJoon/백준] 2869번 (0) | 2020.09.13 |
[BaekJoon/백준] 1193번 (0) | 2020.09.10 |