
const fs = require('fs');
const path = process.platform === 'linux' ? '/dev/stdin' : 'Wiki\\input.txt';
const inputs = fs
.readFileSync(path)
.toString()
.trim()
.split('\n')
.map((it) => it.split(' ').map(Number));
const [n, m] = inputs[0];
const cards = inputs[1].sort((a, b) => a - b);
let ans = 0;
for (let i = 0; i < n; i++) {
for (let j = i + 1; j < n; j++) {
for (let k = j + 1; k < n; k++) {
const sum = cards[i] + cards[j] + cards[k];
if (sum <= m && ans < sum) ans = sum;
}
}
}
console.log(ans);
⏰ 소요한 시간 : -
3개의 서로 다른 카드를 뽑아주기 위해서 depth가 3인 for문을 구현했다.
세 개의 수를 뽑아서 sum이라는 변수에 저장하고, sum이 ans보다 작을 때 그리고 지금까지 찾은 최대값보다 더 클 때 ans를 갱신해준다.
브론즈2인데 원래 블랙잭이란 몰라서 그런가 체감상 어려웠다