목록전체 글 (601)
sm 기술 블로그
Array.from(Array(r), () => new Array(c)); let arr = Array.from(Array(15), () => new Array(10)); 다음과 같이 정의하면, arr[15][10] 의 배열이 생성된다. Array.from() : 배열로 만들어준다. new Array : 배열을 생성 ---> 배열 15와 배열 10을 합치는 것이라고 생각하면 됨. 입력 다른방법으로 받아오기 input.shift() : 다음 입력을 받아온다. 1 2 3일때 , split(" ")로 을 이용하면, 첫번째 사용했을 때 1, 두번째 2 , 세번째 3의 값이 나온다.
let input = require("fs").readFileSync(0).toString().split(" "); N = parseInt(input[0]); if (N == 7 || N == 4) { console.log(-1); } else if (N % 5 == 1 || N % 5 == 3) { console.log(parseInt(N / 5) + 1); } else if (N % 5 == 2 || N % 5 == 4) { console.log(parseInt(N / 5) + 2); } else if (N % 5 == 0) { console.log(parseInt(N / 5)); } 상세한 설명 https://smhope.tistory.com/158
N = int(input()) if(N == 7 or N == 4): print(-1) elif((N % 5 == 1) or (N % 5 == 3)): print((N//5)+1) elif((N % 5 == 2) or (N % 5 == 4)): print((N//5)+2) elif(N % 5 == 0): print(N//5) 개수가 10 이상부터는 특정 규칙에 따라서 필요한 수가 형성되어있다. 필요한 개수는, - 5로 나눈 나머지가 만약 1, 3이면 몫 보다 1더 크고, - 5로 나눈 나머지가 만약 2, 4이면 몫 보다 2더 큼을 짐작 가능하다. - 마지막으로 5로 나누어 떨어질 때 몫이랑 동일하다.
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..