[PS] 블랙잭

doongdoong·2020년 8월 2일
0

문제

https://www.acmicpc.net/problem/2798

풀이

const readline = require('readline');
const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
});

let input = [];

rl.on('line', function (line) {
  input.push(line.split(' ').map((v) => +v));
}).on('close', function () {
  console.log(solution());
  process.exit();
});

function solution() {
  const cardCounts = input[0];
  const cardNumbers = input[1];
  const M = cardCounts[1];

  let sum = 0;

  // cardNumbers의 모든 경우의 수를 구해서 비교해본다.
  let result = 0;
  for (let i = 0; i < cardNumbers.length; i++) {
    for (let j = i + 1; j < cardNumbers.length; j++) {
      for (let k = j + 1; k < cardNumbers.length; k++) {
        const sum = cardNumbers[i] + cardNumbers[j] + cardNumbers[k];
        if (sum === M) {
          return sum;
        }

        if (result < sum && sum < M) {
          result = sum;
        }
      }
    }
  }

  return result;
}
profile
PS 연습장

0개의 댓글