문제
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
메모
- 정답1에서 while문의 조건에 true를 쓰면 조건이 참일 때까지 해당 식을 반복한다.
- 정답2에서 두 번째 for문의 사용법을 잘 봐두자.
정답
function solution(num, total) {
let arr = [];
for (let i = -50; i < 150; i++) {
arr.push(i);
}
while (true) {
if (arr.slice(0, num).reduce((a, b) => a + b) === total) {
return arr.slice(0, num);
} else {
arr.shift();
}
}
}
function solution(num, total) {
for (let i = -50; i < 150; i++) {
let arr = [];
for (let j = i; j < i + num; j++) {
arr.push(j);
}
let sum = arr.reduce((a, b) => a + b);
if (sum === total) {
return arr;
}
}
}
문제
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
메모
- 정답1에서 while문의 조건에 true를 쓰면 조건이 참일 때까지 해당 식을 반복한다.
- 정답2에서 두 번째 for문의 사용법을 잘 봐두자.
정답
function solution(num, total) {
let arr = [];
for (let i = -50; i < 150; i++) {
arr.push(i);
}
while (true) {
if (arr.slice(0, num).reduce((a, b) => a + b) === total) {
return arr.slice(0, num);
} else {
arr.shift();
}
}
}
function solution(num, total) {
for (let i = -50; i < 150; i++) {
let arr = [];
for (let j = i; j < i + num; j++) {
arr.push(j);
}
let sum = arr.reduce((a, b) => a + b);
if (sum === total) {
return arr;
}
}
}