๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Algorithm/์ธํ”„๋Ÿฐ(inflearn)

[ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ(JavaScript) ] 08 - ์ผ๊ณฑ ๋‚œ์Ÿ์ด

by YWTechIT 2021. 8. 11.
728x90

๐Ÿ“ 08 - ์ผ๊ณฑ ๋‚œ์Ÿ์ด

์ด ๋ฌธ์ œ๋Š” python์„ ์ด์šฉํ•ด์„œ ๋ฐฑ์ค€์—์„œ ํ’€์–ด๋ดค๋˜ ๋ฌธ์ œ๋‹ค. JS๋กœ ํ•œ๋ฒˆ ํ’€์–ด๋ดค๋‹ค.

 

ํ•ต์‹ฌ ๋กœ์ง์„ ์ฐพ๋Š” ๋ถ€๋ถ„์—์„œ ์‹œ๊ฐ„์ด ์กฐ๊ธˆ ๊ฑธ๋ ธ๋Š”๋ฐ, ๊ฒฐ๋ก ์ ์œผ๋กœ 9๊ฐœ ์ค‘ 2๊ฐœ์˜ ๊ฐ’์„ ๋บ์„ ๋•Œ 100์ด ๋˜๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋ชจ๋‘ ๊ตฌํ•˜๋ฉด ๋˜๊ณ , bruteForce๋ฅผ ์ด์šฉํ•˜๋ฉด ๋œ๋‹ค. ๋˜, ์ง€๊ธˆ ์ƒ๊ฐ๋‚ฌ์ง€๋งŒ ์ฒ˜์Œ ํ’€ ๋•Œ python์œผ๋กœ slice๋ฅผ ์ด์šฉํ–ˆ์ง€๋งŒ ์‹คํŒจํ–ˆ์—ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ์•ž index๋ถ€ํ„ฐ slice๋ฅผ ํ•˜๊ฒŒ ๋˜๋ฉด ์ „์ฒด ๋ฐฐ์—ด์˜ ๊ธธ์ด๊ฐ€ ์ค„์–ด๋“ค๊ธฐ ๋•Œ๋ฌธ์— error๊ฐ€ ๋‚˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋”ฐ๋ผ์„œ, ์•ž๋ณด๋‹ค๋Š” ๋’ค์—์„œ๋ถ€ํ„ฐ slice๋ฅผ ์ด์šฉํ•ด์„œ ํ’€๋ฉด ๋œ๋‹ค. (j ์ธ๋ฑ์Šค๋Š” i์ธ๋ฑ์Šค๋ณด๋‹ค ํ•ญ์ƒ +1 ๋งŽ๊ธฐ ๋•Œ๋ฌธ์— ์˜ค๋ฅ˜๊ฐ€ ๋‚˜์ง€ ์•Š๋Š”๋‹ค.)

 

์—ฌ๋‹ด์œผ๋กœ ๋ฐฑ์ค€ ์ฝ”๋“œ๋ฅผ ์ œ์ถœํ•  ๋•Œ ์ž๊พธ ์˜ค๋‹ต ํŒ์ •์„ ๋ฐ›์•˜๋Š”๋ฐ ์ด์œ ๋ฅผ ์ฐพ์•„๋ณด๋‹ˆ trim()์„ ์•ˆ ํ•ด์ค˜์„œ ๊ณต๋ฐฑ๋„ ๊ฐ™์ด ํฌํ•จ๋์—ˆ๋‹ค. ์—ฌ๋Ÿฌ ์ค„์„ ์ž…๋ ฅ๋ฐ›์„ ๋•Œ๋Š” trim()์„ ๊ผญ ์จ์ฃผ์ž... ๐Ÿ˜… ๐Ÿ˜… ์ด๋ฒˆ์—๋Š” ๊ฐ•์˜์—์„œ ๋‚˜์˜จ ์ฝ”๋“œ ๋Œ€์‹  ๋ฐฑ์ค€ ์ฝ”๋“œ๋ฅผ ์˜ฌ๋ ธ๋‹ค.

 

 

const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";
let input = fs.readFileSync(filePath).toString().trim().split("\n");

input = input.map((item) => +item);

function solution(arr){
  let sum = arr.reduce((acc, cur) => {return acc + cur}, 0);
  arr.sort((a, b) => a - b);

  for (let i = 0; i < 8; i++){
    for (let j = i+1; j < 9; j++){
      if ((sum - (arr[i] + arr[j])) === 100){
        arr.splice(j, 1);
        arr.splice(i, 1);
        return arr;
      }
    }
  }
}

const ans = solution(input);
console.log(ans.join("\n"));

 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€