javascript 3

[javascript/DFS] 최대점수 구하기

문제 이번 정보 올림피아드대회에서 좋은 성적을 내기 위하여 현수는 선생님이 주신 N개의 문제를 풀려고 한다. 각 문제는 그것을 풀었을 때 얻는 점수와 푸는 데 걸리는 시간이 주어지게 된다. 제한 시간 M 안에 N개의 문제 중 최대점수를 얻을 수 있는 경우를 구하는 문제이다. 단, 해당 문제는 해당 시간이 걸리면 푸는 걸로 간주하고 한 유형당 한 개만 풀 수 있다. 문제 풀이 해당 문제는 "문제를 풀거냐, 말거냐"로 나눠지는 이진트리 방식인 DFS 로 해결할 수 있다. 문제를 풀었을 때 얻는 점수 = sum 문제를 푸는 데 걸리는 시간 = time DFS(L, sum, time)이 들어가고, 문제를 풀것인가 문제를 풀지 않을 것인가 L이 n번째까지 오지 않을 경우 1번의 경우 L + 1, sum + 이전 ..

Tech/Algorithm 2023.08.12

[Javascript] forEach, map, filter, reduce 메서드 작동원리

4가지 모두 공통적으로 고차함수이다. *고차 함수: 자신의 매개변수에 함수를 전달 받는 것 1. forEachfunction forEach(predicate, thisArg) { for(let i=0; i 2. map원본 배열을 하나하나 탐색하면서 새로운 배열을 생성한다.function map(predicate, thisArg) { // 새로운 배열 생성 let list=[]; for(let i=0; i새로운 배열을 넘겨받을 수 있고, 중요한 것은 새로운 배열과 원본 배열의 길이는 같다. let answer = a.map(function(v, i){ if (v%2 == 0) return v; // [10, undefined, 12, undefined, 14, undefined]};만약 위와 같이 1..