๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“‚ Base/์•Œ๊ณ ๋ฆฌ์ฆ˜

๊ฐ ์š”์†Œ๋“ค์ด ๊ทธ ์ด์ „์˜ ์š”์†Œ๋“ค์˜ ํ•ฉ๋ณด๋‹ค ํฐ์ง€ ์—ฌ๋ถ€๋ฅผ ๋ฆฌํ„ดํ•˜๊ธฐ

by Dev. Ella 2023. 3. 31.

๐Ÿ“œ ๋ฌธ์ œ

์ˆ˜๋ฅผ ์š”์†Œ๋กœ ๊ฐ–๋Š” ๋ฐฐ์—ด์„ ์ž…๋ ฅ๋ฐ›์•„ ๊ฐ ์š”์†Œ๋“ค์ด ๊ทธ ์ด์ „์˜ ์š”์†Œ๋“ค์˜ ํ•ฉ๋ณด๋‹ค ํฐ์ง€ ์—ฌ๋ถ€๋ฅผ ๋ฆฌํ„ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

โš ๏ธ ์ฃผ์˜์‚ฌํ•ญ

- boolean ํƒ€์ž…์„ ๋ฆฌํ„ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
- arr[i]๋Š” arr[0]๋ถ€ํ„ฐ arr[i-1]๊นŒ์ง€์˜ ํ•ฉ๋ณด๋‹ค ์ปค์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

โœ๐Ÿป ๋‚ด ํ’€์ด

function superIncreasing(arr) {
  // ์ดˆ๊ธฐ๊ฐ’ ์„ค์ •
  let sum = arr[0];
  // 1๋ฒˆ์งธ ์ธ๋ฑ์Šค๋ถ€ํ„ฐ ๋ฐ˜๋ณตํ•ด์„œ ๋”ํ•ด์ฃผ๋‹ค๊ฐ€
  for (let i = 1; i < arr.length; i++) {
    // sum์ด ๋‹ค์Œ ์ธ๋ฑ์Šค๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๋‹ค๋ฉด
    if (arr[i] <= sum) {
      // false ๋ฅผ ๋ฆฌํ„ด
      return false;
      // ๋‚˜๋จธ์ง€ ๊ฒฝ์šฐ๋ผ๋ฉด
    } else {
      sum = sum + arr[i];
    }
  } 
  // true๋ฅผ ๋ฆฌํ„ด
  return true;
}

 

๐Ÿ’ก ์•Œ์•„๋‘๋ฉด ์ข‹์„ ๊ฐœ๋…

์›Œ๋‚™ ๊ฐ ์ธ๋ฑ์Šค ํฌ๊ธฐ ๋น„๊ต๋Š” ์ž์ฃผ ๋‚˜์˜ค๋Š” ๋ฌธ์ œ์ด๋‹ˆ ๊ฑฐ์˜ ์™ธ์šธ ์ •๋„๋กœ ์•Œ์•„๋‘๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค.

 

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป ๋ฐฐ์šด ์ 

๋ฐ˜๋ณต๋ฌธ ์‚ฌ์šฉ์‹œ ์ธ๋ฑ์Šค๋ฅผ 0์ด ์•„๋‹Œ, 1๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์•ผ ํ•œ๋‹ค๋Š” ์  ์ฃผ์˜

๋Œ“๊ธ€