문제/백준_자바스크립트

57. 2775(부녀회장이 될테야)

sm_hope 2022. 5. 30. 20:21

 

let input = require("fs").readFileSync(0).toString().trim().split("\n");

const T = input.shift();
let APT = Array.from(Array(15), () => new Array(15));
let result = "";

const setAPT = () => {
  for (let i = 0; i < 15; i++) {
    APT[i][1] = 1; //각층 1호
    APT[0][i] = i; // 0층
  }

  for (let i = 1; i < 15; i++) {
    for (let j = 2; j < 15; j++) {
      APT[i][j] = APT[i][j - 1] + APT[i - 1][j];
    }
  }
};

for (let i = 1; i <= T; i++) {
  let k = parseInt(input.shift()); // 층
  let n = parseInt(input.shift()); // 호

  setAPT();

  result += APT[k][n] + "\n";
}
console.log(result);

>> 중요포인트

1. 2차원 배열 정의하기

Array.from(Array(n), () => new Array(k)); ==> arr[n][k]

 

2. 입력값 한칸 옆으로

input.shift()