SMALL
1. n번째 원소까지
function solution(num_list, n) {
var answer = [];
answer = num_list.slice(0, n); // 0 ~ n-1까지
return answer;
}
2. n개 간격의 원소들
function solution(num_list, n) {
var answer = [];
for (let i=0; i<num_list.length; i++) {
answer.push(num_list[i]);
i += n-1;
// i++이 실행되기에 n-1을 넣어줌.
}
return answer;
}
3. 홀수 vs 짝수
function solution(num_list) {
var answer = 0;
let oddSum = 0;
let evenSum = 0;
for (let i=0; i<num_list.length; i++) {
if (i%2 == 0) { // i+1 번째 원소 > 홀수
oddSum += num_list[i];
} else { // 짝수
evenSum += num_list[i];
}
}
answer = (oddSum > evenSum)? oddSum : evenSum;
return answer;
}
4. 5명씩
function solution(names) {
var answer = [];
names.forEach( i => {
if (names.indexOf(i) % 5 == 0) {
answer.push(i);
}
})
return answer;
}
** filter를 사용한 풀이
function solution(names) {
var answer = [];
answer = names.filter((person, idx) => idx%5 == 0);
return answer;
}
5. 할 일 목록
function solution(todo_list, finished) {
var answer = [];
for (let i=0; i<finished.length; i++) {
if (finished[i] == false) {
answer.push(todo_list[i]);
}
}
return answer;
}
6. n보다 커질 때까지 더하기
function solution(numbers, n) {
var answer = 0;
let sum = 0;
numbers.some( i => {
sum += i;
if (sum > n) {
answer = sum;
return true;
}
})
return answer;
}
7. 수열과 구간 쿼리 1
function solution(arr, queries) {
var answer = [];
let s = 0;
let e = 0;
for (let i=0; i<queries.length; i++) {
s = queries[i][0];
e = queries[i][1];
for (let j=s; j<=e; j++) {
arr[j]++;
}
}
answer = arr;
return answer;
}
728x90
'Algorithm > Javascript' 카테고리의 다른 글
[프로그래머스] 230724 코딩테스트 연습 (0) | 2023.07.24 |
---|---|
[프로그래머스] 230722 코딩테스트 연습 (0) | 2023.07.24 |
[프로그래머스] 230720 코딩테스트 연습 (0) | 2023.07.20 |
[프로그래머스] 230718 코딩테스트 연습 (0) | 2023.07.18 |
[프로그래머스] 230717 코딩테스트 연습 (0) | 2023.07.17 |
댓글