코딩하는 털보

21.09.09 TIL 본문

Diary/Today I Learned

21.09.09 TIL

이정인 2021. 9. 11. 13:07

백준 코드 퀴즈

2771번 부녀회장이 될테야

3중 for문으로 아파트 만들어 놓기

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    static BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
    static int[][] apt = new int[15][14];

    public static void main(String[] args) throws IOException {
        for (int i = 0; i < 14; i++) {
            apt[0][i] = i+1;
        }

        for (int i = 1; i < apt.length; i++) {
            apt[i][0] = 1;
            for (int j = 1; j < apt[i].length; j++) {
                for (int k = 0; k <= j; k++) {
                    apt[i][j] += apt[i-1][k];
                }
            }
        }

        int tests = Integer.parseInt(reader.readLine());
        for (int i = 0; i < tests; i++) {
            int k = Integer.parseInt(reader.readLine());
            int n = Integer.parseInt(reader.readLine());
            System.out.println(apt[k][n-1]);
        }
    }

}

2중 for문으로 아파트 만들어 놓기 - 당연히 더 빠름

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;


public class Main {
    static BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
    static int[][] apt = new int[15][14];

    public static void main(String[] args) throws IOException {
        for (int i = 0; i < 14; i++) {
            apt[0][i] = i+1;
        }

        for (int i = 1; i < apt.length; i++) {
            apt[i][0] = 1;
            for (int j = 1; j < apt[i].length; j++) {
                apt[i][j] = apt[i-1][j] + apt[i][j-1];
            }
        }

        int tests = Integer.parseInt(reader.readLine());
        for (int i = 0; i < tests; i++) {
            int k = Integer.parseInt(reader.readLine());
            int n = Integer.parseInt(reader.readLine());
            System.out.println(apt[k][n-1]);
        }
    }
}
Comments