Open ericagong opened 1 year ago
성찰내용 성찰내용 성찰내용
수들의 합2
const fs = require('fs') const inputs = fs.readFileSync('/dev/stdin').toString().split('\n')
const [N, M] = inputs.shift().split(' ').map(Number) const nums = inputs.shift().split(' ').map(Number)
let ei = 0 let selectedSum = 0 let cnt = 0 for(let si = 0; si < N; si++) { // ei를 최대한 늘릴 수 있는 만큼 늘리기 while(selectedSum < M && ei < N) { selectedSum += nums[ei] ei += 1 } if(selectedSum === M) cnt += 1 selectedSum -= nums[si] }
console.log(cnt)
⭐ 성찰
❓ 문제 상황
수들의 합2
👨💻 문제 해결
✅ 1차 풀이: 투포인터 범위의 부분합 확인
const [N, M] = inputs.shift().split(' ').map(Number) const nums = inputs.shift().split(' ').map(Number)
let ei = 0 let selectedSum = 0 let cnt = 0 for(let si = 0; si < N; si++) { // ei를 최대한 늘릴 수 있는 만큼 늘리기 while(selectedSum < M && ei < N) { selectedSum += nums[ei] ei += 1 } if(selectedSum === M) cnt += 1 selectedSum -= nums[si] }
console.log(cnt)