Trip to Cote(15)
-
[백준/node.js] 10828번 차이를 최대로 (못 풀었음)
나는 큰 수 옆에 작은 수를 배치시키면 최대값이 나올거라 생각했는데 답을 보니 경우의 수를 다 따져야했다. 계속 최대값이 62라고?만 속으로 외쳤던 듯... 오늘은 패배; const fs = require("fs"); const [n, input] = fs.readFileSync("/dev/stdin").toString().trim().split("\n"); const arr = input.trim().split(" ").map(Number); const sortArr = arr.sort((a, b) => a - b); let answer = []; let count = 0; let sum = 0; for (let i = 1; i
2023.08.08 -
[백준/node.js] 10828번 스택
js를 공부했다면 스택은 모르기 힘든 개념이다. 자신있게 풀었지만 시간초과와 문자열 정리를 잘못해 정답을 보고 풀었다. 1. 그냥 문자열을 뽑았더니 \r이 붙어 나왔는데 그냥 문자열만 ===처리하면 같다 처리가 안나왔다. 2. 콘솔을 그냥 케이스마다 찍었는데 그러다보니 계속 시간초과가 떴다. 그래서 배열에 저장에 나중에 콘솔을 한 번만 찍었다. const fs = require("fs"); const input = fs .readFileSync("/dev/stdin") .toString() .replace(/\r/g, "") .trim() .split("\n"); const stack = []; const answer = []; for (let i = 1; i < input.length; i++) { i..
2023.08.07 -
[백준/node.js] 5073번 삼각형과 세 변
문제 자체가 어렵지는 않지만 난 조건을 구구절절 다 써준게 마음에 걸렸다. const fs = require("fs"); const input = fs.readFileSync("/dev/stdin").toString().trim().split("\n"); for (let i = 0; i a - b); if ((arr[0] === 0) & (arr[1] === 0) & (arr[2] === 0)) { } else if (arr[2] >= arr[0] + arr[1]) { console.log("Invalid"); } else..
2023.08.06 -
[백준/node.js] 11726번 2xn 타일링 (못 풀었음)
문제는 정말 간단하다. 하지만 못 풀었다. 가로 두 줄의 개수를 기준으로 조합을 구하면 된다는 생각을 했는데 내가 생각하는 답이 안나왔다. 이제 알고리즘 문제를 푸는거라 안풀리는 문제가 많은 것은 당연한데 가끔은 좌절스럽다. const n = require('fs').readFileSync("example.txt").toString().trim() let sum = 0; function factorial(n) { if (n === 0 || n === 1) { return 1; } return n * factorial(n - 1); } function combination(n, r) { if (r > n) { return 0; } return factorial(n) / (factorial(r) * fact..
2023.08.05 -
[백준/node.js] 11399번 ATM
내가 걸렸던 함정 1. 문자열 sort -만약 1, 2, 3, 1000 이라면? const fs = require('fs'); const [n, input] = fs.readFileSync("/dev/stdin").toString().trim().split("\n"); const inputArr = input.trim().split(" ").map(Number).sort((a,b) => a-b) let sum = 0; let answer = 0; for (let i = 0; i < n; i++) { sum += inputArr[i] answer += sum } console.log(answer)
2023.07.31 -
코테 Node.js 입력값 받기
1. 하나의 값을 입력받을 때 const fs = require('fs'); const input = fs.readFileSync("/dev/stdin").toString().trim(); 2. 공백으로 구분된 한 줄의 값들을 입력받을 때 const fs = require('fs'); const input = fs.readFileSync("/dev/stdin").toString().trim().split(" "); 3. 여러 줄의 값들을 입력받을 때 const fs = require('fs'); const input = fs.readFileSync("/dev/stdin").toString().trim().split("\n"); 4. 첫 번째 줄에 자연수 n을 입력받고, 그 다음줄에 공백으로 구분된 n개의..
2023.05.22