๐ŸŽฒ ๋ฐฑ์ค€ 11501๋ฒˆ ์ฃผ์‹

Jeongeunยท2023๋…„ 8์›” 23์ผ
0

๋ฐฑ์ค€

๋ชฉ๋ก ๋ณด๊ธฐ
114/187

๋ฐฑ์ค€ 11501๋ฒˆ

๐Ÿงธ ์ฒ˜์Œ์— ์ž˜๋ชป๋œ ๋ฐฉ์‹์œผ๋กœ ์ ‘๊ทผํ•˜๋‹ค ๋ฐ˜๋ก€๋ฅผ ๋„ฃ์–ด๋ณด๋‹ค ๊นจ๋‹ซ๊ณ  "๋’ค์—์„œ๋ถ€ํ„ฐ"๋ผ๋Š” ํžŒํŠธ๋ฅผ ์–ป์–ด์„œ ํ’€์—ˆ๋‹ค.

์ฝ”๋“œ

const fs = require('fs'); 
const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');
const test = +input.shift();

for (let t = 0; t < test; t++) {
  const day = +input[t * 2];
  const cost = input[t * 2 + 1].split(" ").map(Number);
  let buy = 0;
  let count = 0;
  let sell = 0;
  //๋’ท๋‚ (๊ธฐ์ค€)
  let back = day - 1;
  //์•ž๋‚ (๋น„๊ต๋Œ€์ƒ)
  let front = back - 1;
  while (true) {
    if (cost[front] >= cost[back]) {
      sell += count * cost[back];
      count = 0;
       back = front;
      front = back - 1;
    } else {
      buy += cost[front];
      count++;
      front--;
    }

    if (front < 0) {
      sell += count * cost[back];
      console.log(Number(sell - buy));
      break;
    }
  }
}

0๊ฐœ์˜ ๋Œ“๊ธ€