본문 바로가기
백준/자바

백준 자바 2775번 일차원 배열만 사용하여 메모리 줄이기

by 쎄오SseO 2022. 1. 26.

백준 자바 2775번 부녀회장이 될테야

이 문제를 찾아보면 대부분 2차원 배열을 사용하여 푸는 것을 볼 수 있습니다.

1차원 배열만 사용하여 메모리를 줄여서 푸는 방법을 가져왔습니다.

2차원 배열을 사용하는 것보다 메모리는 1000KB 적게 나옵니다.

(하지만 만약에 데이터 크기가 크다면 훨씬 더 나겠죠?? 조금이라도 줄여봅시다!)

public class Main {

    public static void main(String[] args) throws IOException {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        int t = Integer.parseInt(br.readLine());

        for(int i = 0; i < t; i++) {
            int k = Integer.parseInt(br.readLine());        //층
            int n = Integer.parseInt(br.readLine());        //호 수

            int[] arr = new int[n];

            for(int j = 0; j < n; j++){
                arr[j] = j + 1;
            }


            for(int j = 1; j <= k; j++){
                for(int m = 1; m < n; m ++){
                    arr[m] = arr[m] + arr[m - 1];
                }
            }

            bw.write(arr[n - 1] + "\n");
        }

        bw.flush();
        bw.close();
        br.close();
    }
}