본문 바로가기
728x90

sort()3

[프로그래머스] 모의고사 : JavaScript 📌 문제 📌 풀이function solution(answers) { const obj = {}; const score1 = [1, 2, 3, 4, 5]; const score2 = [2, 1, 2, 3, 2, 4, 2, 5]; const score3 = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5]; answers.forEach((v, i) => { if (v === score1[i % score1.length]) { obj[1] = (obj[1] || 0) + 1; } if (v === score2[i % score2.length]) { obj[2] = (obj[2] || 0) +.. 2025. 3. 29.
[프로그래머스] 수열과 구간 쿼리 2 : JavaScript 📌 문제 📌 풀이function solution(arr, queries) { const result = queries.map(([s,e,k]) => { const list = arr.slice(s, e + 1).filter(num => num > k); return list.length > 0 ? Math.min(...list) : -1; }) return result;}[s,e,k] : 배열 구조 분해 할당을 통해 각 쿼리를 분리한다slice() : s부터 e까지 범위의 값을 분리한다. slice의 끝 인덱스는 포함되지 않으므로 e + 1을 사용slice() : 새로운 배열을 반환한다 (원본 배열이 그대로 유지)splice() : 원본 배열이 수정된다.. 2024. 12. 30.
[알고리즘] 백준 2480번 : JavaScript(Node.js) 풀기 📌 문제 📌 풀이 const input = require('fs').readFileSync('/dev/stdin').toString().split(' ').map(Number).sort(); const [a,b,c] = input; if (a === b && b === c) { // 세 숫자가 같을 경우 console.log(10000 + a * 1000); } else if (a === b || b === c) { // 정렬을 했기 때문에 두 가지 경우의 수가 됨 if (a === b) { console.log(1000 + a * 100); } else if (b === c) { console.log(1000 + b * 100); } } else if (a !== b && b !== c) { // 세 .. 2023. 5. 29.
728x90
반응형