본문 바로가기
[백준]

[BaekJoon/백준] 2775번

by Hevton 2020. 9. 15.
반응형

팩토리얼에 관한 문제였다. 주어진 입력 크기의 인자의 최대 크기가 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