본문 바로가기
개발 노트/백준, 프로그래머스 풀이

[백준 2798/javascript] 블랙잭

by tokkiC 2022. 8. 16.

백준에서 자바스크립트로 입력을 받을 시 한줄씩 받는 readline 과 파일 전체를 읽어와서

입력으로 받는 fs 모듈이 있다

fs 모듈을 사용해서 완전탐색을 이용해서 풀었지만

투포인터로도 풀 수 있는 문제였다. 난 안 풀었지만... 투포인터는 아직 사용에 자신이 없으니

주말에 추가로 공부하여 나중에 도전해보자

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

 

2798번: 블랙잭

첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장

www.acmicpc.net

const array = require("fs")
  .readFileSync("/dev/stdin")
  .toString()
  .trim()
  .split("\n");

let [n, m] = array[0].split(" ").map((el) => Number(el));
let arr = array[1].split(" ").map((el) => Number(el));
let sum = 0;
let max = 0;

for (let i = 0; i < n; i++) {
  for (let j = i + 1; j < n; j++) {
    for (let k = j + 1; k < n; k++) {
      sum = arr[i] + arr[j] + arr[k];
      if (sum <= m && sum > max) {
        max = sum;
      }
      if (max === m) {
        console.log(max);
        return;
      }
    }
  }
}

console.log(max);

댓글