문제 접근법
감이 잡혔다고 할 수 는 없지만 , 위 문제처럼 1번 바둑이를 넣을때, 안넣을때 처럼 O or X 2가지를 선택할 수 있는 부분집합의 형태는 dfs 를 사용하면 된다는 것을 느낄 수 있었다.
또 하나 배운것은 max 메소드를 사용해서 둘중에 큰 값을 얻을 수 있다는 것이다.
더보기
console.log(Math.max(5, 3));
const fs = require("fs");
BOJkey = 1;
let input = fs
.readFileSync(BOJkey ? "./코딩테스트강의/섹션8/input.txt" : "./dev/stdin")
.toString()
.trim()
.split("\n");
let limit = input.shift().split(" ")[0];
console.log(limit);
input = input.map((v) => +v);
let answer = 0;
const dfs = (L, S) => {
if (L == 5) {
if (answer < S && S <= limit) answer = S;
return;
} else {
dfs(L + 1, S + input[L]);
dfs(L + 1, S);
}
};
dfs(0, 0);
console.log(answer);
'공부기록 > 자바스크립트 코딩테스트' 카테고리의 다른 글
[코테강의/JS] 중복순열 (0) | 2022.07.07 |
---|---|
[코테강의/JS] 최대점수 구하기 (0) | 2022.07.07 |
[백준/JS] 16719 ZOAC (0) | 2022.07.06 |
[코테강의/JS] 합이 같은 부분집합 (0) | 2022.07.06 |
[코테강의/JS] 부분집합 구하기 (0) | 2022.07.06 |