๊ด€๋ฆฌ ๋ฉ”๋‰ด

Ming's develop story

๋ง์น ํ•˜๊ธฐ - ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ณธ๋ฌธ

D E V E L O P ๐Ÿ’ป/์•Œ๊ณ ๋ฆฌ์ฆ˜

๋ง์น ํ•˜๊ธฐ - ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

Ming 2025. 2. 10. 15:30
๋ฌธ์ œ ์„ค๋ช…
์–ด๋Š ํ•™๊ต์— ํŽ˜์ธํŠธ๊ฐ€ ์น ํ•ด์ง„ ๊ธธ์ด๊ฐ€ n๋ฏธํ„ฐ์ธ ๋ฒฝ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฒฝ์— ๋™์•„๋ฆฌ ยท ํ•™ํšŒ ํ™๋ณด๋‚˜ ํšŒ์‚ฌ ์ฑ„์šฉ ๊ณต๊ณ  ํฌ์Šคํ„ฐ ๋“ฑ์„ ๊ฒŒ์‹œํ•˜๊ธฐ ์œ„ํ•ด ํ…Œ์ดํ”„๋กœ ๋ถ™์˜€๋‹ค๊ฐ€ ์ฒ ๊ฑฐํ•  ๋•Œ ๋–ผ๋Š” ์ผ์ด ๋งŽ๊ณ  ๊ทธ ๊ณผ์ •์—์„œ ํŽ˜์ธํŠธ๊ฐ€ ๋ฒ—๊ฒจ์ง€๊ณค ํ•ฉ๋‹ˆ๋‹ค. ํŽ˜์ธํŠธ๊ฐ€ ๋ฒ—๊ฒจ์ง„ ๋ฒฝ์ด ๋ณด๊ธฐ ํ‰ํ•ด์ ธ ํ•™๊ต๋Š” ๋ฒฝ์— ํŽ˜์ธํŠธ๋ฅผ ๋ง์น ํ•˜๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค.๋„“์€ ๋ฒฝ ์ „์ฒด์— ํŽ˜์ธํŠธ๋ฅผ ์ƒˆ๋กœ ์น ํ•˜๋Š” ๋Œ€์‹ , ๊ตฌ์—ญ์„ ๋‚˜๋ˆ„์–ด ์ผ๋ถ€๋งŒ ํŽ˜์ธํŠธ๋ฅผ ์ƒˆ๋กœ ์น  ํ•จ์œผ๋กœ์จ ์˜ˆ์‚ฐ์„ ์•„๋ผ๋ ค ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ๋ฒฝ์„ 1๋ฏธํ„ฐ ๊ธธ์ด์˜ ๊ตฌ์—ญ n๊ฐœ๋กœ ๋‚˜๋ˆ„๊ณ , ๊ฐ ๊ตฌ์—ญ์— ์™ผ์ชฝ๋ถ€ํ„ฐ ์ˆœ์„œ๋Œ€๋กœ 1๋ฒˆ๋ถ€ํ„ฐ n๋ฒˆ๊นŒ์ง€ ๋ฒˆํ˜ธ๋ฅผ ๋ถ™์˜€์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํŽ˜์ธํŠธ๋ฅผ ๋‹ค์‹œ ์น ํ•ด์•ผ ํ•  ๊ตฌ์—ญ๋“ค์„ ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.๋ฒฝ์— ํŽ˜์ธํŠธ๋ฅผ ์น ํ•˜๋Š” ๋กค๋Ÿฌ์˜ ๊ธธ์ด๋Š” m๋ฏธํ„ฐ์ด๊ณ , ๋กค๋Ÿฌ๋กœ ๋ฒฝ์— ํŽ˜์ธํŠธ๋ฅผ ํ•œ ๋ฒˆ ์น ํ•˜๋Š” ๊ทœ์น™์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.๋กค๋Ÿฌ๊ฐ€ ๋ฒฝ์—์„œ ๋ฒ—์–ด๋‚˜๋ฉด ์•ˆ ๋ฉ๋‹ˆ๋‹ค.๊ตฌ์—ญ์˜ ์ผ๋ถ€๋ถ„๋งŒ ํฌํ•จ๋˜๋„๋ก ์น ํ•˜๋ฉด ์•ˆ ๋ฉ๋‹ˆ๋‹ค.์ฆ‰, ๋กค๋Ÿฌ์˜ ์ขŒ์šฐ์ธก ๋์„ ๊ตฌ์—ญ์˜ ๊ฒฝ๊ณ„์„  ํ˜น์€ ๋ฒฝ์˜ ์ขŒ์šฐ์ธก ๋๋ถ€๋ถ„์— ๋งž์ถ˜ ํ›„ ๋กค๋Ÿฌ๋ฅผ ์œ„์•„๋ž˜๋กœ ์›€์ง์ด๋ฉด์„œ ๋ฒฝ์„ ์น ํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ ํŽ˜์ธํŠธ๋ฅผ ์น ํ•˜๋Š” ๊ตฌ์—ญ๋“ค์„ ์™„์ „ํžˆ ์น ํ•œ ํ›„ ๋ฒฝ์—์„œ ๋กค๋Ÿฌ๋ฅผ ๋–ผ๋ฉฐ, ์ด๋ฅผ ๋ฒฝ์„ ํ•œ ๋ฒˆ ์น ํ–ˆ๋‹ค๊ณ  ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.ํ•œ ๊ตฌ์—ญ์— ํŽ˜์ธํŠธ๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ์น ํ•ด๋„ ๋˜๊ณ  ๋‹ค์‹œ ์น ํ•ด์•ผ ํ•  ๊ตฌ์—ญ์ด ์•„๋‹Œ ๊ณณ์— ํŽ˜์ธํŠธ๋ฅผ ์น ํ•ด๋„ ๋˜์ง€๋งŒ ๋‹ค์‹œ ์น ํ•˜๊ธฐ๋กœ ์ •ํ•œ ๊ตฌ์—ญ์€ ์ ์–ด๋„ ํ•œ ๋ฒˆ ํŽ˜์ธํŠธ์น ์„ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ์‚ฐ์„ ์•„๋ผ๊ธฐ ์œ„ํ•ด ๋‹ค์‹œ ์น ํ•  ๊ตฌ์—ญ์„ ์ •ํ–ˆ๋“ฏ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋กค๋Ÿฌ๋กœ ํŽ˜์ธํŠธ์น ์„ ํ•˜๋Š” ํšŸ์ˆ˜๋ฅผ ์ตœ์†Œํ™”ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.์ •์ˆ˜ n, m๊ณผ ๋‹ค์‹œ ํŽ˜์ธํŠธ๋ฅผ ์น ํ•˜๊ธฐ๋กœ ์ •ํ•œ ๊ตฌ์—ญ๋“ค์˜ ๋ฒˆํ˜ธ๊ฐ€ ๋‹ด๊ธด ์ •์ˆ˜ ๋ฐฐ์—ด section์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ ๋กค๋Ÿฌ๋กœ ํŽ˜์ธํŠธ์น ํ•ด์•ผ ํ•˜๋Š” ์ตœ์†Œ ํšŸ์ˆ˜๋ฅผ return ํ•˜๋Š” solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด ์ฃผ์„ธ์š”.

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/๋ง์น ํ•˜๊ธฐ

 

 

๋‚ด ํ’€์ด

function solution(n, m, section) {
  let paintedLastWall = 0;
  let paintedCount = 0;

  section.map((sectionNum) => {
    const currentPaintedLastWall = sectionNum + m - 1;

    if (sectionNum > paintedLastWall) {
      paintedLastWall = currentPaintedLastWall;
      paintedCount = paintedCount + 1;
    }
  });

  return paintedCount;
}

 

์–ด๋””์„œ๋ถ€ํ„ฐ ์ ‘๊ทผํ•ด์•ผํ•˜๋‚˜ ๊ณ ๋ฏผํ•˜๋‹ค๊ฐ€ ์šฐ์„  section์„ ์ˆœํšŒํ•ด๋ณด๋ฉด ๋‹ต์ด ๋‚˜์˜ฌ ๊ฒƒ ๊ฐ™์•˜๋‹ค.

์šฐ์„  ํ•œ ๋ฒˆ ์น ํ•  ๋•Œ m๋ฏธํ„ฐ๊ฐ€ ์น ํ•ด์ง€๋‹ˆ ํ•œ ๋ฒˆ ์น ํ•ด์กŒ์„ ๋•Œ ๊ฐ™์ด ์น ํ•ด์ง„ ๋งˆ์ง€๋ง‰ ํƒ€์ผ์„ ์•Œ์•„์•ผํ•ด์„œ paintedLastWall ๋ณ€์ˆ˜๊ฐ€ ์ƒ๊ฒผ๋‹ค.

์ดํ›„ section์„ ์ˆœํšŒ ํ•  ๋•Œ ๊ฐ section์˜ number๊ฐ€ paintedLastWall๋ณด๋‹ค ์ž‘๋‹ค๋ฉด ์ด๋ฏธ ์น ํ•ด์ง„๊ฑฐ๋ผ ์Šคํ‚ตํ•˜๋ฉด ๋œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์—ฌ ์กฐ๊ฑด๋ฌธ์ด ์ถ”๊ฐ€๋˜์—ˆ๊ณ , ์ด ๋•Œ ์น ํ•ด์ง€๋Š” ํšŸ์ˆ˜๋“ค์„ returnํ•˜๋ฉด ํ•ด๊ฒฐ ๋˜์—ˆ๋‹ค.

 

๊ทผ๋ฐ n์€ ๊ทธ๋Ÿผ ์™œ ์žˆ์ง€.. (section์„ ๋Œ๋ฉด์„œ ํŽ˜์ธํŠธ์น  ํ•  ๋•Œ n์„ ๋„˜์–ด๊ฐ€๋ฉด ์•ˆ๋˜๋‚˜ ์ƒ๊ฐํ•ด๋ดค๋Š”๋ฐ ์–ด์งœํ”ผ ๊ฒฐ๊ณผ๋Š” ๋˜‘๊ฐ™๊ธธ๋ž˜ ์ด ๋ถ€๋ถ„์€ ์‹ ๊ฒฝ์“ฐ์ง€ ์•Š์•˜๋‹ค.)

 

 

๋‹ค๋ฅธ ์‚ฌ๋žŒ ํ’€์ด

function solution(n, m, sections) {
    var answer = 0;
    var painted = 0;
    for(var section of sections) {
        if(painted < section) {
            answer++;
            painted = section+m-1;
        }
    }
    return answer;
}

 

๋‹ค๋ฅธ๋ถ„๋“ค์€ for of ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ๋” ๊ฐ€๋…์„ฑ๊ณผ ์„ฑ๋Šฅ ์ข‹์€ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์…จ๋‹ค.

map ๋ฉ”์„œ๋“œ๋ฅผ ๋„ˆ๋ฌด ์‚ฌ๋ž‘ํ•˜๋Š” ๋‚˜๋Š” ์Šต๊ด€ ์ข€ ๊ณ ์ณ์•ผ๊ฒ ๋‹ค๋ผ๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค. 

 

โ€ป map์€ ๋ณดํ†ต ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•˜๋Š” ํ•จ์ˆ˜๋ผ ๋‚ด๊ฐ€ ์“ด ๊ฒƒ์ฒ˜๋Ÿผ ๋‹จ์ˆœ ๋ฐ˜๋ณต๋ฌธ์„ ์“ฐ๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ถ€์ ์ ˆํ•˜๊ณ  ๊ฐ ์š”์†Œ๋งˆ๋‹ค ์ฝœ๋ฐฑ ํ•จ์ˆ˜๊ฐ€ ์‹คํ–‰๋˜๋Š” ๊ฑฐ๊ธฐ ๋•Œ๋ฌธ์— ์ฝœ๋ฐฑ ํ•จ์ˆ˜ ์‹คํ–‰ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

Comments