ํ•ด๋‹น ๋ฌธ์ œ๋Š” jeky22๋‹˜์˜ Velog๋ฅผ ์ฐธ๊ณ ํ•ด ํ’€์ด์— ๋„์›€์ด ๋˜๋„๋ก ์ œ ๋‚˜๋ฆ„์˜ ํ•ด์„์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿงก๋ฌธ์ œ ์„ค๋ช…

์ผ๋ ฌ๋กœ ๋‚˜์—ด๋œ n๊ฐœ์˜ ํ’์„ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ํ’์„ ์—๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ์ˆซ์ž๊ฐ€ ์จ์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹น์‹ ์€ ๋‹ค์Œ ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•˜๋ฉด์„œ ํ’์„ ๋“ค์„ ๋‹จ 1๊ฐœ๋งŒ ๋‚จ์„ ๋•Œ๊นŒ์ง€ ๊ณ„์† ํ„ฐํŠธ๋ฆฌ๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

  1. ์ž„์˜์˜ ์ธ์ ‘ํ•œ ๋‘ ํ’์„ ์„ ๊ณ ๋ฅธ ๋’ค, ๋‘ ํ’์„  ์ค‘ ํ•˜๋‚˜๋ฅผ ํ„ฐํŠธ๋ฆฝ๋‹ˆ๋‹ค.
  2. ํ„ฐ์ง„ ํ’์„ ์œผ๋กœ ์ธํ•ด ํ’์„ ๋“ค ์‚ฌ์ด์— ๋นˆ ๊ณต๊ฐ„์ด ์ƒ๊ฒผ๋‹ค๋ฉด, ๋นˆ ๊ณต๊ฐ„์ด ์—†๋„๋ก ํ’์„ ๋“ค์„ ์ค‘์•™์œผ๋กœ ๋ฐ€์ฐฉ์‹œํ‚ต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์„œ ์กฐ๊ฑด์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ธ์ ‘ํ•œ ๋‘ ํ’์„  ์ค‘์—์„œ ๋ฒˆํ˜ธ๊ฐ€ ๋” ์ž‘์€ ํ’์„ ์„ ํ„ฐํŠธ๋ฆฌ๋Š” ํ–‰์œ„๋Š” ์ตœ๋Œ€ 1๋ฒˆ๋งŒ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ์–ด๋–ค ์‹œ์ ์—์„œ ์ธ์ ‘ํ•œ ๋‘ ํ’์„  ์ค‘ ๋ฒˆํ˜ธ๊ฐ€ ๋” ์ž‘์€ ํ’์„ ์„ ํ„ฐํŠธ๋ ธ๋‹ค๋ฉด, ๊ทธ ์ดํ›„์—๋Š” ์ธ์ ‘ํ•œ ๋‘ ํ’์„ ์„ ๊ณ ๋ฅธ ๋’ค ๋ฒˆํ˜ธ๊ฐ€ ๋” ํฐ ํ’์„ ๋งŒ์„ ํ„ฐํŠธ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹น์‹ ์€ ์–ด๋–ค ํ’์„ ์ด ์ตœํ›„๊นŒ์ง€ ๋‚จ์„ ์ˆ˜ ์žˆ๋Š”์ง€ ์•Œ์•„๋ณด๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์œ„์— ์„œ์ˆ ๋œ ์กฐ๊ฑด๋Œ€๋กœ ํ’์„ ์„ ํ„ฐํŠธ๋ฆฌ๋‹ค ๋ณด๋ฉด, ์–ด๋–ค ํ’์„ ์€ ์ตœํ›„๊นŒ์ง€ ๋‚จ์„ ์ˆ˜๋„ ์žˆ์ง€๋งŒ, ์–ด๋–ค ํ’์„ ์€ ๋ฌด์Šจ ์ˆ˜๋ฅผ ์“ฐ๋”๋ผ๋„ ๋งˆ์ง€๋ง‰๊นŒ์ง€ ๋‚จ๊ธฐ๋Š” ๊ฒƒ์ด ๋ถˆ๊ฐ€๋Šฅํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์ผ๋ ฌ๋กœ ๋‚˜์—ด๋œ ํ’์„ ๋“ค์˜ ๋ฒˆํ˜ธ๊ฐ€ ๋‹ด๊ธด ๋ฐฐ์—ด a๊ฐ€ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. ์œ„์— ์„œ์ˆ ๋œ ๊ทœ์น™๋Œ€๋กœ ํ’์„ ๋“ค์„ 1๊ฐœ๋งŒ ๋‚จ์„ ๋•Œ๊นŒ์ง€ ํ„ฐํŠธ๋ ธ์„ ๋•Œ ์ตœํ›„๊นŒ์ง€ ๋‚จ๊ธฐ๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•œ ํ’์„ ๋“ค์˜ ๊ฐœ์ˆ˜๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.


๐Ÿ’›์ œํ•œ ์‚ฌํ•ญ

  • a์˜ ๊ธธ์ด๋Š” 1 ์ด์ƒ 1,000,000 ์ดํ•˜์ž…๋‹ˆ๋‹ค.
    • a[i]๋Š” i+1 ๋ฒˆ์งธ ํ’์„ ์— ์จ์ง„ ์ˆซ์ž๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
    • a์˜ ๋ชจ๋“  ์ˆ˜๋Š” -1,000,000,000 ์ด์ƒ 1,000,000,000 ์ดํ•˜์ธ ์ •์ˆ˜์ž…๋‹ˆ๋‹ค.
    • a์˜ ๋ชจ๋“  ์ˆ˜๋Š” ์„œ๋กœ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

๐Ÿ’š์ž…์ถœ๋ ฅ ์˜ˆ

aresult
[9,-1,-5]3
[-16,27,65,-2,58,-92,-71,-68,-61,-33]6

๐Ÿ’™์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…

์ž…์ถœ๋ ฅ ์˜ˆ #1

  • ์ฒซ ๋ฒˆ์งธ ํ’์„ (9๊ฐ€ ์จ์ง„ ํ’์„ )์„ ์ตœํ›„๊นŒ์ง€ ๋‚จ๊ธฐ๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
    1. [9, -1, -5] ์—์„œ -1, -5๊ฐ€ ์จ์ง„ ํ’์„ ์„ ๊ณ ๋ฅธ ๋’ค, -1์ด ์จ์ง„ ํ’์„ (๋ฒˆํ˜ธ๊ฐ€ ๋” ํฐ ๊ฒƒ)์„ ํ„ฐํŠธ๋ฆฝ๋‹ˆ๋‹ค.
    2. [9, -5] ์—์„œ 9, -5๊ฐ€ ์จ์ง„ ํ’์„ ์„ ๊ณ ๋ฅธ ๋’ค, -5๊ฐ€ ์จ์ง„ ํ’์„ (๋ฒˆํ˜ธ๊ฐ€ ๋” ์ž‘์€ ๊ฒƒ)์„ ํ„ฐํŠธ๋ฆฝ๋‹ˆ๋‹ค.
  • ๋‘ ๋ฒˆ์งธ ํ’์„ (-1์ด ์จ์ง„ ํ’์„ )์„ ์ตœํ›„๊นŒ์ง€ ๋‚จ๊ธฐ๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
    1. [9, -1, -5] ์—์„œ 9, -1์ด ์จ์ง„ ํ’์„ ์„ ๊ณ ๋ฅธ ๋’ค, 9๊ฐ€ ์จ์ง„ ํ’์„ (๋ฒˆํ˜ธ๊ฐ€ ๋” ํฐ ๊ฒƒ)์„ ํ„ฐํŠธ๋ฆฝ๋‹ˆ๋‹ค.
    2. [-1, -5] ์—์„œ -1, -5๊ฐ€ ์จ์ง„ ํ’์„ ์„ ๊ณ ๋ฅธ ๋’ค, -5๊ฐ€ ์จ์ง„ ํ’์„ (๋ฒˆํ˜ธ๊ฐ€ ๋” ์ž‘์€ ๊ฒƒ)์„ ํ„ฐํŠธ๋ฆฝ๋‹ˆ๋‹ค.
  • ์„ธ ๋ฒˆ์งธ ํ’์„ (-5๊ฐ€ ์จ์ง„ ํ’์„ )์„ ์ตœํ›„๊นŒ์ง€ ๋‚จ๊ธฐ๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
    1. [9, -1, -5] ์—์„œ 9, -1์ด ์จ์ง„ ํ’์„ ์„ ๊ณ ๋ฅธ ๋’ค, 9๊ฐ€ ์จ์ง„ ํ’์„ (๋ฒˆํ˜ธ๊ฐ€ ๋” ํฐ ๊ฒƒ)์„ ํ„ฐํŠธ๋ฆฝ๋‹ˆ๋‹ค.
    2. [-1, -5] ์—์„œ -1, -5๊ฐ€ ์จ์ง„ ํ’์„ ์„ ๊ณ ๋ฅธ ๋’ค, -1์ด ์จ์ง„ ํ’์„ (๋ฒˆํ˜ธ๊ฐ€ ๋” ํฐ ๊ฒƒ)์„ ํ„ฐํŠธ๋ฆฝ๋‹ˆ๋‹ค.
  • 3๊ฐœ์˜ ํ’์„ ์ด ์ตœํ›„๊นŒ์ง€ ๋‚จ์„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, 3์„ return ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ #2

  • ์ตœํ›„๊นŒ์ง€ ๋‚จ์„ ์ˆ˜ ์žˆ๋Š” ํ’์„ ์€ -16, -92, -71, -68, -61, -33์ด ์จ์ง„ ํ’์„ ์œผ๋กœ ๋ชจ๋‘ 6๊ฐœ์ž…๋‹ˆ๋‹ค.

๐Ÿ’œ๋‚˜์˜ ํ’€์ด

function solution(a) {
    // ์ขŒ์ธก ๋น„๊ต์š”์†Œ
    let l = a[0]
    // ์šฐ์ธก ๋น„๊ต์š”์†Œ
    let r = a[a.length-1]
    // ์š”์†Œ๋ณด๋‹ค ์ž‘์€ ์ˆ˜๋“ค์˜ ๋ชจ์Œ
    const smallNums = []
    // ์š”์†Œ ์ˆœํšŒ
    for(let i = 1 ; i < a.length - 1 ; i ++) {
        // ์šฐ์ธก,์ขŒ์ธก ์š”์†Œ๋ณด๋‹ค ํ•˜๋‚˜๋ผ๋„ ์ž‘๋‹ค๋ฉด ์ตœํ›„๊นŒ์ง€ ๋‚จ๊ธฐ๋Š”๊ฒƒ์ด ๊ฐ€๋Šฅํ•จ
        // ์ขŒ์ธก ์š”์†Œ๋ณด๋‹ค ํฐ ๊ฒฝ์šฐ (๋” ํฐ ์š”์†Œ๋ฅผ ํ„ฐ๋œจ๋ฆฌ๊ณ , ๊ธฐ์ค€์„ ํ˜„์žฌ ์š”์†Œ๋กœ)
        if(l > a[i]) {
            l = a[i]
            smallNums.push(l)
        }
        // ์šฐ์ธก ์š”์†Œ๋ณด๋  ํฐ ๊ฒฝ์šฐ (๋” ํฐ ์š”์†Œ๋ฅผ ํ„ฐ๋œจ๋ฆฌ๊ณ , ๊ธฐ์ค€์„ ํ˜„์žฌ ์š”์†Œ๋กœ)
        if(r > a[a.length-1-i]) {
            r = a[a.length-1-i]
            smallNums.push(r)
        }
    }
    // +2๊ฐ€ ๋˜๋Š” ์ด์œ : ์ขŒ, ์šฐ์ธก ์š”์†Œ๋Š” ํ•ญ์ƒ ๋‚จ์„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ(๋ฒˆํ˜ธ๊ฐ€ ๋” ์ž‘์€ ํ’์„ ์„ ํ•œ ๋ฒˆ ํ„ฐ๋œจ๋ฆด ์ˆ˜ ์žˆ๊ธฐ์—)
    return new Set(smallNums).size+2
}
profile
๋‚ด ์ง€์‹์„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” ๋Œ€๋‹ดํ•จ

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