[백준11501_자바스크립트(javascript)] - 주식

경이·2024년 10월 5일

𝑩𝑶𝑱 (𝒋𝒔)

목록 보기
204/325

🔴 문제

주식


🟡 Sol

const fs = require('fs');
const path = process.platform === 'linux' ? '/dev/stdin' : 'input.txt';
const inputs = fs.readFileSync(path).toString().trim().split('\r\n');
let t = Number(inputs.shift());

let front = 0;

function getMaxProfits(n, stock) {
  let profit = 0;

  let max = 0;
  for (let i = n - 1; i >= 0; i--) {
    if (max < stock[i]) max = stock[i];
    else profit += max - stock[i];
  }

  return profit;
}

while (t > 0) {
  const n = Number(inputs[front++]);
  const stock = inputs[front++].split(' ').map(Number);

  const profit = getMaxProfits(n, stock);
  console.log(profit);
  t -= 1;
}

🟢 풀이

⏰ 소요한 시간 : -

그리디 문제유형 풀이 봤다...!!
가장 마지막 값부터 반복 순회한다. 현재 순회중인 요소가 max값보다 크다면 max값을 업데이트 해주고, 그게 아니라면 max 값에서 현재 인덱스 값인 stock[i]값을 빼서 이익만 profit 변수에 더해준다.

실버2라니 거짓말이야..


🔵 Ref

https://kkk4872.tistory.com/139

profile
록타르오가르

0개의 댓글