본문 바로가기

JavaScript6

[JS] 부녀회장이 될테야 - 백준 2775 문제 시간복잡도 O(n) 해결방법 dp[i][j]는 i층 j호의 인원을 나타내며 j호 까지의아래층의 사람을 모두 더한 값이다. dp[i][j-1]는 1호 앞의 집의 인원수이며 아래층의 1호 앞까지의 합이다. 따라서 아래층의 같은 호수 합인 dp[i-1][j]을 더하여 dp[i][j]를 구한다. 코드 dp는 apartment배열이다. 0층은 j호에 j명이 거주하므로 직접 구하고 시작한다. const fs = require("fs"); const filePath = process.platform === "linux" ? "/dev/stdin" : "./example.txt"; let input = fs.readFileSync(filePath).toString().split("\n"); let input_ar.. 2023. 12. 21.
[JS] 2×n 타일링 2 - 백준11727 문제 시간복잡도 O(n) 해결방법 dp[i] 는 dp[i-1]에서 세로블럭을 붙인 것과 dp[i-2]에서 2x2 블럭 또는 가로블럭 두개를 붙인 모양들이다. dp[i-2]는 두가지 모양을 붙일 수 있으니 dp[i-2]*2만큼 만들 수 있다. dp[i]=dp[i-1]+dp[i-2]*2 참고 - 최대 정수값 자바 스크립에서 안전한 최대 정수값은 2^53 - 1 이다. 다음과 같이 이 값을 넘어가면 같은 숫자로 인식하여 정확한 값이 나오지 않는다. 이 문제에서는 10007로 나눈 나머지를 구하라고 했으니 먼저 나눠서 저장해주자. console.log에서 %10007을 하면 런타임 에러가 난다. const x = Number.MAX_SAFE_INTEGER + 1; const y = Number.MAX_SAFE_.. 2023. 12. 21.
[JS] 피보나치 함수 - 백준 1003 https://www.acmicpc.net/problem/1003 1003번: 피보나치 함수 각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다. www.acmicpc.net 문제 시간복잡도 O(n) 해결방법 dp[i] = ["0 호출 수", "1 호출 수"]로 두고 계산하며 저장한다. 위와 같이 dp[i]의 왼쪽은 dp[i-1], 오른쪽은 dp[i-2]를 호출하므로 0과 1이 호출된 수가 담긴 배열을 그대로 더해주면 된다. 코드 const fs = require("fs"); const filePath = process.platform === "linux" ? "/dev/stdin" : "./example.txt"; let input = fs.readFileSync.. 2023. 12. 21.
웹풀사이클 13일차 - js의 특징,url 쿼리와 파라미터 사용, 네이밍 규칙, Map 문자를 숫자처럼 취급하는 javascript const express = require("express"); const app = express(); app.listen(3003); app.get(`/products/:n`, function (req, res) { //products/__빈칸에 오는 값을 n에 담아준다. res.json({ num: req.params.n, }); if (req.params.n > 10) { console.log("10보다 크다."); } }); 왼쪽에서 결과를 보면 문자열로 인식했지만 계산이 된 것을 볼 수 있다. javascript는 계산할 때, 문자로 된 숫자를 숫자처럼 취급하고 계산한다! 이런 것은 위험할 수도 있으므로 parseInt를 이용해서 숫자로 바꿔주는 것.. 2023. 12. 10.