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

[ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ(JavaScript) ] 18 - ๋ณด์ด๋Š” ํ•™์ƒ

by YWTechIT 2021. 8. 13.
728x90

๐Ÿ“ 18 - ๋ณด์ด๋Š” ํ•™์ƒ

์ด ๋ฌธ์ œ๋ฅผ ๋ณด์ž๋งˆ์ž boj2493 - ํƒ‘๊ณผ ์œ ์‚ฌํ•˜๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค. (๋น„๋ก python์œผ๋กœ ํ’€๊ธดํ–ˆ์ง€๋งŒ..) ๋ณด์ด๋Š” ํ•™์ƒ ๋ฌธ์ œ๋Š” ๊ทธ๋‹ค์ง€ ์–ด๋ ต์ง€ ์•Š์•˜๋‹ค. ๋Œ€์‹  ์ฃผ์˜ํ•  ์ ์€ ์ด์ „ index์˜ ๊ฐ’์„ ์•Œ๊ณ ์žˆ์–ด์•ผ ๋Œ€์†Œ๊ด€๊ณ„๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ œ์ผ ์ฒซ๋ฒˆ์งธ ํ•™์ƒ์€ ๋น„๊ต ๋Œ€์ƒ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— stack์— ๋„ฃ๊ณ  ์‹œ์ž‘ํ•˜๋ฉด ๋œ๋‹ค.

 

๊ฐ•์˜์˜์ƒ์—์„œ๋Š” ๊ฐ’์„ ๋ˆ„์ ํ•˜๋Š” ๋Œ€์‹  ํ• ๋‹นํ•˜๋Š”๊ฒƒ์œผ๋กœ ํ’€์—ˆ๋Š”๋ฐ, ๊ตณ์ด ๋นˆ ๋ฐฐ์—ด์— push ํ•˜์ง€ ์•Š๊ณ ๋„ ๊ฐ’์„ ๊ตฌํ•  ์ˆ˜ ์žˆ๋Š”๊ฒƒ์ด ์ข‹์•˜๋‹ค.

console.log(solution([130, 135, 148, 140, 145, 150, 150, 153]));

// ๋‚˜์˜ ์ฝ”๋“œ
function solution(students) {
  let stack = [];
  let cnt = 1;

  stack.push(students[0]);

  for (let i = 1; i < students.length; i++) {
    if (students[i] > stack[stack.length - 1]) {
      stack.push(students[i]);
      cnt += 1;
    }
  }
  return cnt;
}

// ๊ฐ•์˜
function solution(students) {
  let maxHeight = students[0];
  let cnt = 1;

  for (let i = 1; i < students.length; i++) {
    if (students[i] > maxHeight) {
      maxHeight = students[i];
      cnt += 1;
    }
  }
  return cnt;
}
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€