ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

๐Ÿ“Œ ๊ฐœ์š”

์œ„์น˜์— ๋”ฐ๋ผ ๋ฒˆํ˜ธ๊ฐ€ ๋งค๊ฒจ์ ธ ์žˆ๋Š” ์•„ํŒŒํŠธ๋“ค์˜ ์˜ฅ์ƒ์— 5G ๊ธฐ์ง€๊ตญ์„ ์„ค์น˜ํ•˜๋ ค๊ณ  ํ•œ๋‹ค. 5G ๊ธฐ์ง€๊ตญ์€ ๊ธฐ์กด์— ์„ค์น˜๋˜์–ด ์žˆ๋Š” 4G ๊ธฐ์ง€๊ตญ๊ณผ๋Š” ์ „ํŒŒ์˜ ์ „๋‹ฌ ๋ฒ”์œ„๊ฐ€ ๋‹ค๋ฅด๋‹ค. ๊ธฐ์กด์— 4G ๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ๋Š” ์•„ํŒŒํŠธ๋“ค์˜ ๋ชฉ๋ก์„ ๋‹ด์€ ๋ฐฐ์—ด stations ์™€ ์ด ์•„ํŒŒํŠธ์˜ ๊ฐœ์ˆ˜ N, ๊ทธ๋ฆฌ๊ณ  5G ๊ธฐ์ง€๊ตญ์„ ์„ค์น˜ํ–ˆ์„ ๋•Œ์˜ ์ „ํŒŒ ์ „๋‹ฌ ๋ฒ”์œ„๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” W ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋ชจ๋“  ์•„ํŒŒํŠธ์— ์ „ํŒŒ๋ฅผ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด ์„ค์น˜ํ•ด์•ผ ํ•˜๋Š” ๊ธฐ์ง€๊ตญ์˜ ์ตœ์†Œ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜์—ฌ๋ผ.

 

์˜ˆ) N = 11, stations = [4, 11], W = 1

4๋ฒˆ ์•„ํŒŒํŠธ์™€ 11๋ฒˆ ์•„ํŒŒํŠธ์— ์ „ํŒŒ ์ „๋‹ฌ ๋ฒ”์œ„ 1 ์˜ ๊ธฐ์ง€๊ตญ์ด ์„ค์น˜๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ, ์ „ํŒŒ๋ฅผ ์ „๋‹ฌ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ์•„ํŒŒํŠธ๋Š” ์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด 3, 4, 5, ๊ทธ๋ฆฌ๊ณ  10, 11๋ฒˆ ์•„ํŒŒํŠธ์ด๋‹ค.

 

๋‚˜๋จธ์ง€ 1, 2, 6, 7, 8, 9 ์•„ํŒŒํŠธ์—๋„ ๋ชจ๋‘ ์ „ํŒŒ๊ฐ€ ์ „๋‹ฌ๋˜๊ธฐ ์œ„ํ•ด ์ตœ์†Œ ๋ช‡ ๊ฐœ์˜ ๊ธฐ์ง€๊ตญ์„ ๋” ์„ค์น˜ํ•ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ๋ฌป๋Š” ๋ฌธ์ œ์ด๋‹ค.

ps. ์œ„ ๊ทธ๋ฆผ์˜ ๊ฒฝ์šฐ์—๋Š” ์ตœ์†Œ 3๊ฐœ๋Š” ์„ค์น˜ํ•ด์•ผ ํ•œ๋‹ค. 1, 7, 9 ๋˜๋Š” 2, 6, 8๋ฒˆ ์•„ํŒŒํŠธ์— ์„ค์น˜ํ•˜๋ฉด ์–‘์ชฝ W = 1 ๋งŒํผ์˜ ์ „ํŒŒ ์ „๋‹ฌ ๋ฒ”์œ„๋กœ ์ „ํŒŒ๋ฅผ ์ „๋‹ฌํ•ด์„œ ๋ชจ๋“  ์•„ํŒŒํŠธ๊ฐ€ ์ „ํŒŒ๋ฅผ ์ „๋‹ฌ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค. 3๊ฐœ ์ดํ•˜๋กœ๋Š” ๋ชจ๋“  ์•„ํŒŒํŠธ์— ์ „ํŒŒ๋ฅผ ์ „๋‹ฌํ•  ์ˆ˜ ์—†๋‹ค.

๐Ÿฆพ ์ฒซ ๊ฑธ์Œ

๋ฌธ์ œ๋ฅผ ์ฒ˜์Œ ๋งˆ์ฃผํ–ˆ์„ ๋•Œ๋Š” ๋ฌด์‹ํ•˜๊ฒŒ ํ’€๊ธฐ ๋ฐฉ๋ฒ•์ด ๋– ์˜ฌ๋ž๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐฉ๋ฒ•์ด๋‹ค:

  1. N ๊ฐœ์˜ ๋ชจ๋“  ์•„ํŒŒํŠธ์˜ ๋ฒˆํ˜ธ๊ฐ€ 1 ~ N ๊นŒ์ง€ ๋‚˜์—ด๋˜์–ด ์žˆ๋Š” ์ž๋ฃŒ ๊ตฌ์กฐ (์˜ˆ. ๋ฐฐ์—ด์ด๋‚˜ ๋ฆฌ์ŠคํŠธ) ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.
  2. stations ์™€ W ๋ฅผ ์ฐธ๊ณ ํ•ด์„œ ํ˜„์žฌ ์ „ํŒŒ๊ฐ€ ์ „๋‹ฌ๋˜๋Š” ์•„ํŒŒํŠธ๋ฅผ ์ž๋ฃŒ ๊ตฌ์กฐ์—์„œ ์ œ์™ธํ•œ๋‹ค.
  3. ์ž๋ฃŒ ๊ตฌ์กฐ์— ๋‚จ์€ ์•„ํŒŒํŠธ ๋ฒˆํ˜ธ๋“ค์„ ๋Œ€์ƒ์œผ๋กœ ์ฆ์„คํ•ด์•ผ ํ•˜๋Š” ๊ธฐ์ง€๊ตญ์˜ ์ตœ์†Œ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ์—ฐ์‚ฐ์„ ์‹คํ–‰ํ•œ๋‹ค. ์‹คํ–‰๋˜๋Š” ์—ฐ์‚ฐ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค:
    • ์˜ˆ) W ๊ฐ€ 1์ผ ๋•Œ๋Š” ์•„ํŒŒํŠธ ํ•œ ๋Œ€ + ์–‘ ์ชฝ์˜ ์•„ํŒŒํŠธ ๋‘ ๋Œ€ ๊นŒ์ง€ ์ „ํŒŒ๊ฐ€ ์ „๋‹ฌ๋˜๋ฏ€๋กœ ๊ธฐ์ง€๊ตญ ํ•˜๋‚˜ ๋‹น 3๋Œ€์˜ ์•„ํŒŒํŠธ๊ฐ€ ์ „ํŒŒ๋ฅผ ์ „๋‹ฌ๋ฐ›๋Š”๋‹ค.
    • ๋งŒ์•ฝ ๋‚จ์€ ์•„ํŒŒํŠธ๊ฐ€ 10๋Œ€์ด๋ฉด ์ตœ์†Œ 4๊ฐœ์˜ ๊ธฐ์ง€๊ตญ์„ ์„ค์น˜ํ•ด์•ผ ํ•  ๊ฒƒ์ด๋‹ค. 3๋Œ€์˜ ์•„ํŒŒํŠธ์— ์ „ํŒŒ๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๊ธฐ์ง€๊ตญ์€ 3๊ฐœ๋ฅผ ์„ค์น˜ํ•˜๋ฉด 3 * 3 = 9๋Œ€์˜ ์•„ํŒŒํŠธ์—๋งŒ ์ „ํŒŒ๋ฅผ ์ „๋‹ฌํ•  ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ์ตœ์†Œ 4๊ฐœ๊ฐ€ ํ•„์š”ํ•˜๋‹ค.

์œ„์˜ ๋ฐฉ์‹์—๋Š” ๋‘๊ฐ€์ง€์˜ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค:

  1. ์šฐ์„  ๋ฌธ์ œ์˜ ์กฐ๊ฑด์—์„œ N ์€ 2์–ต ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜์ด๋‹ค. ์œ„ ๋ฐฉ์‹์˜ 1๋ฒˆ์—์„œ๋Š” 1๋ถ€ํ„ฐ N ๊นŒ์ง€ ๋ชจ๋‘ ๋ฐ˜๋ณต๋ฌธ์„ ํ™œ์šฉํ•ด์„œ ์ž๋ฃŒ ๊ตฌ์กฐ์— ์ง‘์–ด๋„ฃ์œผ๋ฏ€๋กœ ์ตœ๋Œ€ 2์–ต๋ฒˆ์„ ๋ฐ˜๋ณตํ•  ๊ฒƒ์ด๋‹ค. ์‹œ๊ฐ„์ด ๋งŽ์ด ์†Œ์š”๋œ๋‹ค.
  2. ์ „ํŒŒ๋ฅผ ์ „๋‹ฌํ•ด์•ผ ํ•˜๋Š” ์•„ํŒŒํŠธ์˜ ๊ฐœ์ˆ˜๋งŒ์œผ๋กœ๋Š” ์ •ํ™•ํ•œ ํ•„์š” ๊ธฐ์ง€๊ตญ์˜ ์ตœ์†Œ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•  ์ˆ˜ ์—†๋‹ค. ๋งŒ์•ฝ 10๋Œ€๊ฐ€ ์ „ํŒŒ ์ „๋‹ฌ์ด ํ•„์š”ํ•˜๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋ฉด, 10๋Œ€๊ฐ€ ๋ชจ๋‘ ๋ชจ์—ฌ ์žˆ์„ ๋•Œ์—๋งŒ ์œ„ ๋ฐฉ์‹์˜ 3๋ฒˆ์—์„œ ์„ค๋ช…ํ•˜๋Š” ์—ฐ์‚ฐ์ด ์œ ํšจํ•˜๋‹ค. ๋งŒ์ผ 10๋Œ€์˜ ์•„ํŒŒํŠธ์˜ 1๋Œ€๋งˆ๋‹ค ์ด๋ฏธ ๊ธฐ์ง€๊ตญ์ด ์„ค์น˜๋œ ์•„ํŒŒํŠธ๋“ค์ด ๊ปด ์žˆ๊ณ  ์ด๋กœ ์ธํ•ด ๊ฐ ์•„ํŒŒํŠธ๋“ค์ด W ์ด์ƒ ๋–จ์–ด์ ธ ์žˆ๋‹ค๋ฉด ์ตœ์†Œ 10๊ฐœ์˜ ๊ธฐ์ง€๊ตญ ์„ค์น˜๊ฐ€ ํ•„์š”ํ•˜๊ฒŒ ๋œ๋‹ค.

 ๊ทธ๋ž˜์„œ ์ฒ˜์Œ ๊ณ ์•ˆํ•œ ๋ฐฉ๋ฒ•์€ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์—ˆ๋‹ค.

 

๐Ÿ’ก ๋‘ ๋ฒˆ์งธ ์‹œ๋„, ๊ธ์ •์ ์ธ ๊ฒฐ๊ณผ

์กฐ๊ธˆ์˜ ํœด์‹์„ ์ทจํ•˜๊ณ  ๋‘ ๋ฒˆ์งธ๋กœ ์ƒ๊ฐํ•ด๋‚ธ ๋ฐฉ๋ฒ•์€ ๋ถˆ๋ฆฐ ๋ฐฐ์—ด์ด false ๋กœ ์ดˆ๊ธฐํ™”๊ฐ€ ๋œ๋‹ค๋Š” ์‚ฌ์‹ค์„ ์ด์šฉํ•˜๋Š” ๊ฒƒ์ด์—ˆ๋‹ค. ์ฒ˜์Œ ์ƒ๊ฐํ•œ ๋ฐฉ์‹์˜ 1๋ฒˆ์€ ์ตœ๋Œ€ 2์–ต ๊ฐœ์˜ ์ˆ˜๋ฅผ ๋ชจ๋‘ ๋„ฃ์–ด์•ผ ํ•ด์„œ ์‹œ๊ฐ„์ด ๋งŽ์ด ์†Œ์š”๋œ๋‹ค. ๋ถˆ๋ฆฐ ๋ฐฐ์—ด์€ false ๋กœ ์ดˆ๊ธฐํ™”๋˜๋‹ˆ, ์„ ์–ธ๋งŒ ํ•œ ํ›„ 2์–ต๊ฐœ ๋ชจ๋‘์˜ ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝํ•  ํ•„์š” ์—†์ด stations ์— ์žˆ๋Š” ๊ธฐ์ง€๊ตญ ์ •๋ณด๋ฅผ ํ™œ์šฉํ•ด์„œ ์ด๋ฏธ ์ „ํŒŒ๊ฐ€ ์ „๋‹ฌ๋˜๊ณ  ์žˆ๋Š” ์•„ํŒŒํŠธ๋“ค์˜ ์ƒํƒœ๋งŒ true ๋กœ ๋ฐ”๊พธ์–ด์ฃผ๋ฉด false / true ๋กœ ๊ฐ ์•„ํŒŒํŠธ๋ณ„ ์ „ํŒŒ ์ „๋‹ฌ์ด ํ•„์š” ์—ฌ๋ถ€๋ฅผ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฐ์—ด์ด ๋งŒ๋“ค์–ด์งˆ ๊ฒƒ์ด๋‹ค. ์ „ํŒŒ๊ฐ€ ์ „๋‹ฌ๋˜์ง€ ์•Š๊ณ  ์žˆ๋Š” ์•„ํŒŒํŠธ๋“ค์ด ์œ„์น˜ํ•œ ์ธ๋ฑ์Šค์˜ ์›์†Œ๋Š” ์ดˆ๊ธฐ์˜ false ๋กœ ๋‚จ๊ณ , ๋ฐ˜๋Œ€๋Š” true ๋กœ ๋ฐฐ์—ด์— ์ €์žฅ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋ฐ”๋กœ ์‹คํ–‰์— ์˜ฎ๊ฒผ๋‹ค:

boolean[] onOrOff = new boolean[N]; // false ๋กœ ์ดˆ๊ธฐํ™” ๋œ๋‹ค. ๋ชจ๋‘ ์ „ํŒŒ๊ฐ€ ๋‹ฟ์ง€ ์•Š๋Š” ์ƒํ™ฉ์˜ ์ดˆ๊ธฐ ์ƒํƒœ๋ฅผ ๋ฐฐ์—ด๋กœ ํ‘œํ˜„ํ•œ๋‹ค.

/* stations ์˜ ์ •๋ณด์— ๋”ฐ๋ผ ์ „ํŒŒ๊ฐ€ ๋‹ฟ๋Š” ์•„ํŒŒํŠธ๋“ค์˜ ์ •๋ณด๊ฐ€ ์—…๋ฐ์ดํŠธ๋œ๋‹ค. */

for (int station : stations) {
    for (int j = station - W; j <= station + W; j++) {
        if (j > N || j < 1) continue;
        onOrOff[j - 1] = true;
    }
}

N = 11, stations = [4, 11], W = 1 ์ผ ๋•Œ onOrOff ๋ฐฐ์—ด์„ ์ถœ๋ ฅํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค:

[false, false, true, true, true, false, false, false, false, true, true]

์ด๋กœ์จ onOrOff ๋ฐฐ์—ด์—๋Š” ์•„ํŒŒํŠธ๋“ค์˜ ์ „ํŒŒ ์ „๋‹ฌ ์—ฌ๋ถ€์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ๋ถˆ๋ฆฐ ๊ฐ’์œผ๋กœ ์ €์žฅ๋˜๊ฒŒ ๋˜์—ˆ๋‹ค. ์ถœ๋ ฅ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋‹ค ๋ณด๋‹ˆ๊นŒ false ๊ฐ€ ์—ฐ์†์œผ๋กœ ๋‚˜์˜ค๋Š” ๊ตฌ๊ฐ„๋“ค์ด ๊ฒฐ๊ตญ ๊ธฐ์ง€๊ตญ์„ ๋ช‡ ๊ฐœ ์„ค์น˜ํ•ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ๊ฒฐ์ •์ง“๋Š”๋‹ค๋Š” ๊ฒฐ๋ก ์ด ๋‚ด๋ ค์กŒ๋‹ค. ๊ทธ ์ด์œ ๋Š” false, ์ฆ‰ ์ „ํŒŒ๊ฐ€ ์ „๋‹ฌ๋˜์ง€ ์•Š๊ณ  ์žˆ๋Š” ์•„ํŒŒํŠธ๋“ค์ด ๋ชจ์—ฌ ์žˆ๋Š” ๊ตฌ๊ฐ„์—๋Š” ํ•ญ์ƒ ๊ธฐ์ง€๊ตญ์„ ์ตœ์†Œ 1๊ฐœ๋Š” ์„ค์น˜ํ•ด์•ผ ํ•  ๊ฒƒ์ด๊ณ , ์ •ํ™•ํžˆ ๋ช‡ ๊ฐœ ์„ค์น˜ํ•ด์•ผ ํ•˜๋Š”์ง€๋Š” ๋ชจ์—ฌ ์žˆ๋Š” ์•„ํŒŒํŠธ๋“ค์˜ ๊ฐœ์ˆ˜, ์ฆ‰ ์—ฌ๊ธฐ์„œ๋Š” false ๊ฐ€ ์—ฐ์†์œผ๋กœ ๋‚˜์˜ค๋Š” ๊ตฌ๊ฐ„์— ๋ช‡ ๊ฐœ์˜ false ๊ฐ€ ์žˆ๋Š”์ง€์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง€๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์‰ฝ๊ฒŒ ์˜ˆ๋ฅผ ๋“ค์–ด ์„ค๋ช…ํ•˜๊ฒ ๋‹ค:

  • false ์—ฐ์† 4 ๊ฐœ, W = 1 ์ผ ๋•Œ: ๊ธฐ์ง€๊ตญ์€ 2๊ฐœ ์„ค์น˜ํ•ด์•ผ ํ•œ๋‹ค. ์œ„์—์„œ ์ž ์‹œ ์„ค๋ช…ํ–ˆ๋“ฏ์ด W ๊ฐ€ 1์ด๋ฉด 3๊ฐœ์˜ ์•„ํŒŒํŠธ๋ฅผ ์ปค๋ฒ„ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทผ๋ฐ ์ „ํŒŒ๋ฅผ ์ „๋‹ฌํ•ด์•ผ ํ•˜๋Š” ์•„ํŒŒํŠธ๋Š” 4๊ฐœ์ด๋ฏ€๋กœ 1๊ฐœ๋กœ๋Š” ๋ชจ์ž๋ผ๊ณ  ์ตœ์†Œ 2๊ฐœ๋Š” ์„ค์น˜ํ•ด์•ผ ๋˜๊ฒŒ ๋œ๋‹ค.
  • false ์—ฐ์† 2๊ฐœ, W = 1 ์ผ ๋•Œ, ๊ธฐ์ง€๊ตญ์€ 1๊ฐœ๋งŒ ์„ค์น˜ํ•˜๋ฉด ๋œ๋‹ค. W = 1 ์ผ ๋•Œ ์ตœ๋Œ€ 3๊ฐœ๋ฅผ ์ปค๋ฒ„ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ.

์‚ฌ์‹ค ์ด ์˜ˆ์‹œ๋Š” ์œ„์˜ ์ถœ๋ ฅ ๊ฒฐ๊ณผ๋ฅผ ๋Œ€์ƒ์œผ๋กœ ๋“  ์˜ˆ์ด๋‹ค. ์‹ค์ œ N = 11, stations = [4, 11], W = 1์ผ ๋•Œ ์„ค์น˜ํ•ด์•ผ ํ•˜๋Š” ์ตœ์†Œ ๊ธฐ์ง€๊ตญ์˜ ๊ฐœ์ˆ˜๋Š” ์˜ˆ์‹œ์—์„œ ํŒŒ์•…ํ•œ fasle ์—ฐ์† ๊ตฌ๊ฐ„์— ํ•„์š”ํ•œ ๊ธฐ์ง€๊ตญ ์„ค์น˜ ๊ฐœ์ˆ˜๋“ค์˜ ํ•ฉ์ธ 2 + 1 = 3 ๊ฐœ์ด๋‹ค.

 

์—ฌ๊ธฐ๊นŒ์ง€์˜ ์ƒ๊ฐ์„ ๋งˆ์นœ ํ›„, ํ•ด์•ผ ํ•  ์ผ์ด ๋ช…ํ™•ํ•ด์กŒ๋‹ค. ๋ฐ”๋กœ false ๊ฐ€ ์—ฐ์†์œผ๋กœ ๋‚˜์˜ค๋Š” ๊ตฌ๊ฐ„๋“ค ๊ฐ๊ฐ์˜ false ๊ฐœ์ˆ˜๋ฅผ ํŒŒ์•…ํ•ด์„œ ์ˆซ์ž ๋ฐฐ์—ด์ด๋‚˜ ๋ฆฌ์ŠคํŠธ์— ์ €์žฅํ•˜๋Š” ์ผ์ด์—ˆ๋‹ค. ์œ„์˜ ์ถœ๋ ฅ ๊ฒฐ๊ณผ๋กœ๋ถ€ํ„ฐ ๋ฐฐ์—ด์ด๋‚˜ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ƒ์„ฑํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค:

[2, 4]

false ๊ฐ€ ์—ฐ์†์œผ๋กœ 2 ๊ฐœ ๋‚˜์˜จ ์ดํ›„ true ๊ฐ€ ๋‚˜์˜ค๊ณ  ๋‹ค์Œ์œผ๋กœ 4 ๊ฐœ์˜ false ๊ฐ€ ์—ฐ์†์œผ๋กœ ๋“ฑ์žฅํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

์ด๋Ÿฌํ•œ ๋ฆฌ์ŠคํŠธ / ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์งœ๋ณด์•˜๋‹ค:

int count = 0;
int idx = 0;
for (int i = 0; i < onOrOff.length; i++) {
    idx = i;
    while (idx < N && !onOrOff[idx]) {
        count++;
        idx++;
    }
    if (count > 0) {
        numOfFs.add(count);
        count = 0;
        i = idx;
    }
}

์ค‘์ฒฉ๋œ ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•ด์„œ !onOrOff[idx], ์ฆ‰ false ๋ฅผ ๋ฐœ๊ฒฌํ–ˆ์„ ๋•Œ, ๋ฐœ๊ฒฌ๋œ ์œ„์น˜์˜ ์ธ๋ฑ์Šค๋ฅผ ์‹œ์ž‘์œผ๋กœ ์ดํ›„ ์›์†Œ๋“ค์ด ๊ณ„์† false ์ธ ํ•œ (false ์˜ ์—ฐ์† ๊ตฌ๊ฐ„, while ๋ฌธ์œผ๋กœ ์—ฐ์† ๊ตฌ๊ฐ„์„ ๊ณ„์† ํƒ์ƒ‰ํ•œ๋‹ค.) count ๋ฅผ ์ฆ๊ฐ€์‹œ์ผœ์„œ false ์˜ ์—ฐ์† ๊ตฌ๊ฐ„๋งˆ๋‹ค false ๊ฐ€ ๋ช‡ ๊ฐœ๊ฐ€ ์žˆ๋Š”์ง€๋ฅผ ์„ผ๋‹ค. ์•„๋ž˜ if ๋ฌธ์€ count ์— ๋ณ€ํ™”๊ฐ€ ์žˆ์„ ๋•Œ, ์ฆ‰ ์—ฐ์† ๊ตฌ๊ฐ„์ด ๋ฐœ๊ฒฌ๋˜์—ˆ์„ ๋•Œ (์žŠ์ง€ ๋ง์ž, false ๊ฐ€ ํ•˜๋‚˜๋งŒ ๋‚˜์˜ค๊ณ  ๋ฉˆ์ถฐ๋„ ์—ฐ์† ๊ตฌ๊ฐ„์ด๋‹ค) ์—ฐ์† ๊ตฌ๊ฐ„ ๋‚ด์˜ false ๋ฅผ ์„ผ count ๋ฅผ numOfFs ๋ฆฌ์ŠคํŠธ์— ์ €์žฅํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‹ค์Œ ์—ฐ์† ๊ตฌ๊ฐ„์ด ๋‚˜์™”์„ ๋•Œ false ๋ฅผ ๋‹ค์‹œ ์„ธ๊ธฐ ์œ„ํ•ด count ๋ฅผ 0์œผ๋กœ ์ดˆ๊ธฐํ™”์‹œํ‚จ๋‹ค. ๊ทธ๋ž˜๋„ idx ๋ฅผ i ์— ํ• ๋‹นํ•จ์œผ๋กœ์„œ ๋‹ค์Œ ๋ฐ˜๋ณต์—์„œ๋Š” false์˜ ์—ฐ์† ๊ตฌ๊ฐ„์ด ๋๋‚œ ์ง€์ ์˜ ๋‹ค์Œ ์ง€์ ๋ถ€ํ„ฐ (while ๋ฌธ์—์„œ idx ๋ฅผ ํ•˜๋‚˜ ์ฆ๊ฐ€์‹œํ‚ค๊ณ  ๋‚˜์˜ค๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์Œ ์ง€์ ์ด๋‹ค) ํƒ์ƒ‰์„ ์ง„ํ–‰ํ•˜๋„๋ก ํ•œ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ์ค‘์ฒฉ๋œ ๋ฐ˜๋ณต๋ฌธ์„ ๋ชจ๋“  onOrOff ์˜ ์›์†Œ๋“ค์— ๋Œ€ํ•ด์„œ ๋Œ๊ณ  ๋‚˜๋ฉด, ๊ฐ ์—ฐ์†๋œ false ๊ตฌ๊ฐ„ ๋‚ด์˜ false ์˜ ๊ฐœ์ˆ˜๊ฐ€ ๊ตฌ๊ฐ„์˜ ๋“ฑ์žฅ ์ˆœ์„œ๋Œ€๋กœ ์ฐจ๋ก€๋Œ€๋กœ numOfFs ์— ์ €์žฅ๋˜์–ด ์žˆ๋‹ค:

numOfFs = [2, 4]

์ด๋ ‡๊ฒŒ false์˜ ๊ฐ ์—ฐ์† ๊ตฌ๊ฐ„์—์„œ์˜ ๊ฐœ์ˆ˜๋ฅผ ํŒŒ์•…ํ•˜๊ณ  ๋‚˜๋‹ˆ๊นŒ ๋ฌธ์ œ์˜ ์‹ค๋งˆ๋ฆฌ๊ฐ€ ๋ณด์˜€๋‹ค. ์—ฌ๊ธฐ์„œ ๊ธฐ์ง€๊ตญ์ด ์ตœ์†Œ ๋ช‡ ๊ฐœ๊ฐ€ ํ•„์š”ํ•œ์ง€๋ฅผ ๊ตฌํ•˜๋Š” ์ผ์€ ์–ด๋ ต์ง€ ์•Š์•˜๋‹ค. ๋จผ์ € W ์— ๋”ฐ๋ผ ์ „ํŒŒ๋ฅผ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š” ์•„ํŒŒํŠธ์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ณต์‹์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋ณด์•˜๋‹ค:

1 + (2 * W)

์œ„์˜ ๊ณต์‹์„ ํ•ด์„ํ•˜์ž๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค - ์•„ํŒŒํŠธ ์ž์‹  (1) ๊ณผ(+) ์–‘์ชฝ (2) ์— ํผ์ง€๋Š” (*) ์ „ํŒŒ ๋ฒ”์œ„(W)

 

๊ธฐ์ง€๊ตญ์„ ํ•œ ๋Œ€ ์„ค์น˜ํ•  ๋•Œ 1 + (2 * W) ๋งŒํผ์˜ ์•„ํŒŒํŠธ์— ์ „ํŒŒ๊ฐ€ ์ „๋‹ฌ๋˜๋ฉฐ ๋‘ ๊ฐ€์ง€ ์ƒํ™ฉ์ด ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒฐ๋ก ์— ๋„๋‹ฌํ–ˆ๋‹ค:

  1. ๊ฐ€๋Šฅํ•œ ๋ฒ”์œ„๋ณด๋‹ค ๋” ๋„“์€ ๋ฒ”์œ„ ๋‚ด์˜ ์•„ํŒŒํŠธ๋“ค์— ์ „ํŒŒ๋ฅผ ์ „๋‹ฌํ•ด์•ผ ํ•˜๋Š” ์ƒํ™ฉ
  2. ๊ฐ€๋Šฅํ•œ ๋ฒ”์œ„๋ณด๋‹ค ์ ์€ ์•„ํŒŒํŠธ์— ์ „ํŒŒ๋ฅผ ์ „๋‹ฌํ•ด์•ผ ํ•˜๋Š” ์ƒํ™ฉ

2๋ฒˆ ์ƒํ™ฉ์€ 1๋Œ€์˜ ๊ธฐ์ง€๊ตญ์œผ๋กœ ๋ชจ๋“  ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜๋Š” ์ƒํ™ฉ์ด๋‹ค. 1๋ฒˆ ์ƒํ™ฉ์€ ์–ด๋–จ๊นŒ? 1๋ฒˆ ์ƒํ™ฉ์€ ๋˜ ๋‘ ๊ฐˆ๋ž˜๋กœ ๋‚˜๋‰œ๋‹ค:

  • ๊ธฐ์ง€๊ตญ์„ ์„ค์น˜ํ•ด ์ „ํŒŒ๋ฅผ ์ „๋‹ฌํ•œ ํ›„์— ๊ธฐ์ง€๊ตญ๋„ ๋ชจ๋“  ๊ฐ€๋Šฅํ•œ ๋ฒ”์œ„๋ฅผ ์‚ฌ์šฉํ–ˆ๊ณ  ๋‚จ์€ ์•„ํŒŒํŠธ๋„ ์—†๋Š” ์ƒํ™ฉ, ์ฆ‰ ๊ฐ€๋Šฅํ•œ ๋ฒ”์œ„์˜ ๋ฐฐ์ˆ˜๋งŒํผ์˜ ์•„ํŒŒํŠธ๊ฐ€ ์žˆ๋Š” ์ƒํ™ฉ
  • ๊ธฐ์ง€๊ตญ n ๋Œ€๋ฅผ ์„ค์น˜ํ–ˆ๋Š”๋ฐ ๊ธฐ์ง€๊ตญ์˜ ๊ฐ€๋Šฅ ๋ฒ”์œ„๋ฅผ ๋”ฑ ๋–จ์–ด์ง€๊ฒŒ ์‚ฌ์šฉํ•˜์ง€ ๋ชปํ•˜๊ณ  ๊ฐ€๋Šฅํ•œ ๋ฒ”์œ„๋ณด๋‹ค ์ž‘์€ ๋งŒํผ์˜ ์•„ํŒŒํŠธ ๊ฐœ์ˆ˜๊ฐ€ ๋‚จ๋Š” ์ƒํ™ฉ, ์ฆ‰ ๊ฐ€๋Šฅํ•œ ๋ฒ”์œ„์˜ ๋ฐฐ์ˆ˜ + ๋‚˜๋จธ์ง€ ์˜ ์•„ํŒŒํŠธ ๊ฐœ์ˆ˜์ธ ์ƒํ™ฉ

์—ฌ๊ธฐ๊นŒ์ง€ ๋…ผ๋ฆฌ๋ฅผ ์ „๊ฐœํ•˜๋‹ˆ๊นŒ ๋‚˜๋ˆ—์…ˆ (/) ๊ณผ ๋ชจ๋“ˆ๋กœ (%) ์—ฐ์‚ฐ์„ ์‚ฌ์šฉํ•ด์•ผ ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค. ์•„๋ž˜์ฒ˜๋Ÿผ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค:

  1. A (์ „ํŒŒ ์ „๋‹ฌํ•  ์•„ํŒŒํŠธ ๊ฐœ์ˆ˜, false ์—ฐ์† ๊ตฌ๊ฐ„์—์„œ false์˜ ๊ฐœ์ˆ˜) > (1 + (2 * W))
    1. A % (1 + (2 * W)) == 0
    2. A % (1 + 2 * W) > 0
  2. A < (1 + (2 * W))

๊ทธ๋ฆฌ๊ณ  ์ด ์„ธ ๊ฐ€์ง€ ์ƒํ™ฉ ๊ฐ๊ฐ์—์„œ ํ•„์š”ํ•œ ๊ธฐ์ง€๊ตญ์˜ ๊ฐœ์ˆ˜๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค:


    1. A / (1 + (2 * W)) - ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง„๋‹ค๋Š” ์˜๋ฏธ๋Š” ์ •ํ™•ํ•˜๊ฒŒ ์•„ํŒŒํŠธ ๊ฐœ์ˆ˜๋ฅผ ๊ฐ€๋Šฅ ๋ฒ”์œ„๋กœ ๋‚˜๋ˆ„์—ˆ์„ ๋•Œ์˜ ๋ชซ ๋งŒํผ์˜ ๊ธฐ์ง€๊ตญ์ด ํ•„์š”ํ•˜๋‹ค๋Š” ์ด์•ผ๊ธฐ์ด๋‹ค.
    2. (A / (1 + (2 * W))) + 1 - ๋‚˜๋จธ์ง€๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ๊ฐ€๋Šฅ ๋ฒ”์œ„๋กœ ์ปค๋ฒ„ํ•  ์ˆ˜ ์žˆ๋Š” ์•„ํŒŒํŠธ ๊ฐœ์ˆ˜๋งŒํผ์ด ๋‚จ๋Š”๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋ž˜์„œ ๊ธฐ์ง€๊ตญ 1๊ฐœ๋ฅผ ์ถ”๊ฐ€์ ์œผ๋กœ ์„ค์น˜ํ•ด์•ผ ํ•œ๋‹ค.
  1. 1 - ๋‹จ 1๊ฐœ์˜ ๊ธฐ์ง€๊ตญ์œผ๋กœ ์ปค๋ฒ„ํ•  ์ˆ˜ ์žˆ๋‹ค. A ์—๋Š” ์–‘์˜ ์ •์ˆ˜๋งŒ ํ•ด๋‹น๋œ๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค. ์‹ค์ œ๋กœ ์—ฐ์† ๊ตฌ๊ฐ„์„ ํŒŒ์•…ํ•  ๋•Œ๋Š” false ๊ฐ€ 1๊ฐœ ์ด์ƒ์ผ ๋•Œ๋งŒ ์„ธ๊ธฐ๋ฅผ ์‹œ์ž‘ํ–ˆ๋‹ค.

์ด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์งฐ๋‹ค. numOfFs ์— ์ €์žฅ๋œ ๊ฐ false ์—ฐ์† ๊ตฌ๊ฐ„์—์„œ์˜ false ์˜ ๊ฐœ์ˆ˜ ๊ฐ๊ฐ์„ ๋Œ€์ƒ์œผ๋กœ ์œ„์˜ ๊ธฐ์ง€๊ตญ ํŒŒ์•… ๊ณต์‹์„ ์ ์šฉํ•œ ํ›„ ๋ชจ๋‘ ๋”ํ•ด์„œ ์ด ํ•„์š”ํ•œ ์ตœ์†Œ ๊ธฐ์ง€๊ตญ์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•œ๋‹ค:

int countMin = 0;

for (int countF : numOfFs) {
    if (countF % ((W * 2) + 1) == 0) {
        countMin += countF / ((W * 2) + 1);
        continue;
    }
    countMin += (countF / ((W * 2) + 1)) + 1;
}

์™œ 2๋ฒˆ ์ƒํ™ฉ์ด ์•ˆ ๋ณด์ด๋ƒ๋ฉด ์–ด์ฐจํ”ผ countF < ((W * 2) + 1)) ์ธ ์ƒํ™ฉ์—์„œ๋„ countF ๋ฅผ ๊ฐ€๋Šฅ ๋ฒ”์œ„๋กœ ๋‚˜๋ˆ„๋ฉด ๋ชซ์ด 0์ด ๋‚˜์˜ค๊ณ  1์„ ๋”ํ•˜๋ฉด 1์ด ๋˜๊ธฐ ๋•Œ๋ฌธ์— countMin += (countF / ((W * 2) + 1)) + 1; ์—์„œ ๊ธฐ์ง€๊ตญ 1๊ฐœ๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋Š” ์‚ฌ์‹ค์„ ํŒŒ์•…ํ•ด ๋”ํ•˜๊ฒŒ ๋˜์–ด์„œ ๋”ฐ๋กœ ๋ช…์‹œํ•  ํ•„์š”๊ฐ€ ์—†์—ˆ๋‹ค. ๊ฒฐ๊ตญ ๋ชซ์ด 0์ธ ์ƒํ™ฉ์„ ์ด์šฉํ•˜๋ฉด 1-1๊ณผ 1-2 ์ƒํ™ฉ๋งŒ ์ฝ”๋“œ๋กœ ์งœ๋„ ๋œ๋‹ค.

 

์ด๋ ‡๊ฒŒ ํ•ด์„œ ์ฝ”๋“œ๊ฐ€ ์™„์„ฑ๋˜์—ˆ๋‹ค. ๋‘ ๋ฒˆ์งธ ์‹œ๋„์—์„œ ๋‚˜์˜ ์ฝ”๋“œ๋Š” ์•„๋ž˜์™€ ๊ฐ™์•˜๋‹ค:

public int completeSpread(int N, int[] stations, int W) {
    boolean[] onOrOff = new boolean[N]; // false ๋กœ ์ดˆ๊ธฐํ™” ๋œ๋‹ค. ๋ชจ๋‘ ์ „ํŒŒ๊ฐ€ ๋‹ฟ์ง€ ์•Š๋Š” ์ƒํ™ฉ์˜ ์ดˆ๊ธฐ ์ƒํƒœ๋ฅผ ๋ฐฐ์—ด๋กœ ํ‘œํ˜„ํ•œ๋‹ค.

    /* stations ์˜ ์ •๋ณด์— ๋”ฐ๋ผ ์ „ํŒŒ๊ฐ€ ๋‹ฟ๋Š” ์•„ํŒŒํŠธ๋“ค์˜ ์ •๋ณด๊ฐ€ ์—…๋ฐ์ดํŠธ๋œ๋‹ค. */

    for (int station : stations) {
        for (int j = station - W; j <= station + W; j++) {
            if (j > N || j < 1) continue;
            onOrOff[j - 1] = true;
        }
    }

    List<Integer> numOfFs = new ArrayList<>(); // ์—ฐ์† ๊ตฌ๊ฐ„์— ๋†“์—ฌ ์žˆ๋Š” false ์˜ ๊ฐœ์ˆ˜๋“ค์„ ์‰ผํ‘œ๋กœ ๋ถ„๋ฆฌํ•ด์„œ ์ €์žฅํ•œ๋‹ค.

    int count = 0;
    int idx = 0;
    for (int i = 0; i < onOrOff.length; i++) {
        idx = i;
        while (idx < N && !onOrOff[idx]) {
            count++;
            idx++;
        }
        if (count > 0) {
            numOfFs.add(count);
            count = 0;
            i = idx;
        }
    }

    int countMin = 0;

    for (int countF : numOfFs) {
        if (countF % ((W * 2) + 1) == 0) {
            countMin += countF / ((W * 2) + 1);
            continue;
        }
        countMin += (countF / ((W * 2) + 1)) + 1;
    }

    return countMin;
}

์ •ํ™•๋„๋Š” 100ํ”„๋กœ, ํšจ์œจ์„ฑ์€ ๋นต์ ์ด์—ˆ๋‹ค:

 

๐Ÿš€ ๋งˆ์ง€๋ง‰ ์‹œ๋„, ์ด๋ ‡๊ฒŒ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ์งค ์ˆ˜ ์žˆ๋‹ค๊ณ ?

์ •ํ™•์„ฑ์ด 100์ ์ด์—ˆ์œผ๋ฏ€๋กœ, ๋” ์ด์ƒ ๋…ผ๋ฆฌ๋Š” ๊ฑด๋“œ๋ฆฌ์ง€ ์•Š๊ธฐ๋กœ ํ–ˆ๋‹ค. ์‚ฌ์‹ค ํšจ์œจ์„ฑ ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ•˜์ง€ ๋ชปํ•˜๋Š” ์ด์œ ๋Š” ๋ถˆ๋ณด๋“ฏ ๋ป”ํ–ˆ๋‹ค. ๋ฐ”๋กœ ์ด์ค‘ ๋ฐ˜๋ณต๋ฌธ๋“ค์„ ๋‘ ๊ตฐ๋ฐ์—์„œ๋‚˜ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ์ด์ค‘ ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์„์ง€ ๊ณ ๋ฏผํ•˜๋‹ค๊ฐ€ false ์ดˆ๊ธฐํ™”๋ฅผ ์ด์šฉํ•ด์„œ ๊ธธ์ด N ์˜ ๋ฐฐ์—ด์— ์•„ํŒŒํŠธ์˜ ์ „ํŒŒ ์ „๋‹ฌ ์—ฌ๋ถ€๋ฅผ ๋‹ด๋Š” ๋ฐฉ์‹์ด ์‚ฌ์‹ค ์•„๋ž˜์— false ๊ฐ€ ์—ฐ์†์œผ๋กœ ๋‚˜์˜ค๋Š” ๊ตฌ๊ฐ„์„ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•œ ์ค€๋น„ ๋‹จ๊ณ„์— ๋ถˆ๊ณผํ•˜๋‹ค๋Š” ์‚ฌ์‹ค์„ ๋ฐœ๊ฒฌํ–ˆ๋‹ค. ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ถˆ๋ฆฐ ๋ฐฐ์—ด์„ ๋งŒ๋“ค์ง€ ์•Š๊ณ ๋„ ์ „ํŒŒ๊ฐ€ ์ „๋‹ฌ๋˜์ง€ ์•Š๋Š” ์•„ํŒŒํŠธ๋“ค์˜ ์—ฐ์† ๊ตฌ๊ฐ„๊ณผ ๊ตฌ๊ฐ„ ๋‚ด ์•„ํŒŒํŠธ๋“ค์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ์„๊นŒ? ๋ฅผ ์ƒ๊ฐํ•ด๋ณด์•˜๋‹ค.

 

๊ฒฐ๋ก ๋ถ€ํ„ฐ ๋งํ•˜์ž๋ฉด, ๊ฐ€๋Šฅํ–ˆ๋‹ค. false ์—ฐ์† ๊ตฌ๊ฐ„์€ true ์˜ ์œ„์น˜์™€ ๊นŠ์€ ๊ด€๋ จ์ด ์žˆ์—ˆ๋‹ค. ํ˜„์žฌ ์ „ํŒŒ ์ „๋‹ฌ์ด ๋˜๊ณ  ์žˆ๋Š” ์•„ํŒŒํŠธ๋“ค์˜ ์œ„์น˜๋ฅผ ์•Œ๋ฉด, ์ „ํŒŒ ์ „๋‹ฌ์ด ์•ˆ๋˜๋Š” ์œ„์น˜๋„ ์•Œ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๊ตฌ๊ฐ„์„ ๋ชจ๋ฅด์ง€ ์•Š๋ƒ๊ณ ? ์•„๋‹ˆ๋‹ค. ์ „ํŒŒ ์ „๋‹ฌ์ด ๋˜๊ณ  ์žˆ๋Š” ์•„ํŒŒํŠธ๋“ค์˜ ์—ฐ์† ๊ตฌ๊ฐ„์„ ์•Œ๋ฉด ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๊ทธ ๋ฐ˜๋Œ€์ธ ์ „ํŒŒ ์ „๋‹ฌ์ด ์•ˆ๋˜๊ณ  ์žˆ๋Š” ์•„ํŒŒํŠธ๋“ค์˜ ์—ฐ์† ๊ตฌ๊ฐ„์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ๋‘ ๊ตฌ๊ฐ„๋“ค์˜ ์—ฐ๊ด€์„ฑ์„ ์ฝ”๋“œ๋กœ ์ •๋ฆฝํ•˜๊ธฐ ์œ„ํ•ด ๊ณ ๋ฏผ์„ ํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค.

 

stations ๋Š” ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ์ด ๋˜์–ด ์žˆ๋‹ค. ์ฆ‰, stations ์˜ ์ฒซ ๋ฒˆ์งธ ์›์†Œ๋Š” ํ•ญ์ƒ ๊ธฐ์ง€๊ตญ์ด ์„ค์น˜๋œ ์•„ํŒŒํŠธ๋“ค ์ค‘ ๊ฐ€์žฅ ์ž‘์€ ๋ฒˆํ˜ธ๋ฅผ ๊ฐ€์ง„ ์•„ํŒŒํŠธ, ์ฆ‰ ๋งจ ์œ„ ๊ฐœ์š”์—์„œ์˜ ๊ทธ๋ฆผ์œผ๋กœ ๋”ฐ์ง€๋ฉด ๋งจ ์™ผ์ชฝ์˜ ์•„ํŒŒํŠธ๋ฅผ ๊ฐ€๋ฆฌํ‚จ๋‹ค. ์ด๋ฅผ ์ด์šฉํ•˜๋ฉด ์ฒซ ์ „ํŒŒ ์ „๋‹ฌ์ด ์•ˆ๋˜๋Š” ๊ตฌ๊ฐ„์ด 1 ๋ถ€ํ„ฐ  <stations ์˜ ์ฒซ ๋ฒˆ์งธ ์›์†Œ> - <์™ผ์ชฝ์œผ๋กœ์˜ ์ „ํŒŒ ์ „๋‹ฌ ๊ฐ€๋Šฅ ๋ฒ”์œ„> (์™ผ์ชฝ ์˜ค๋ฅธ์ชฝ ๋™์ผํ•˜๊ฒŒ W์ด๋‹ค.) ์ž„์„ ์ถ”๋ก ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฌผ๋ก  <stations ์˜ ์ฒซ ๋ฒˆ์งธ ์›์†Œ> - <์™ผ์ชฝ์œผ๋กœ์˜ ์ „ํŒŒ ์ „๋‹ฌ ๊ฐ€๋Šฅ ๋ฒ”์œ„> ๊ฐ€ 2 ์ด์ƒ์ผ ๋•Œ์˜ ์ด์•ผ๊ธฐ์ด๋‹ค. ๋งŒ์•ฝ 1 ์ดํ•˜์ด๋ฉด ์•„ํŒŒํŠธ 1๋ฒˆ์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ์ „ํŒŒ ์ „๋‹ฌ์ด ๋˜์ง€ ์•Š๋Š” ์—ฐ์† ๊ตฌ๊ฐ„์€ ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์•Œ์•„์•ผ ํ•  ๊ฒƒ์€ ์—ฐ์† ๊ตฌ๊ฐ„ ๋‚ด์— ๋ช‡ ๊ฐœ์˜ ์•„ํŒŒํŠธ๊ฐ€ ์žˆ๋Š”์ง€์ด๋‹ค. 1๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ์—ฐ์† ๊ตฌ๊ฐ„ ๋‚ด์˜ ์•„ํŒŒํŠธ ๊ฐœ์ˆ˜๋ฅผ ์ฝ”๋“œ๋กœ ๋‚˜ํƒ€๋‚ด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค:

(stations[0] - W) - 1 - 1

1์„ ํ•œ๋ฒˆ ๋” ๋นผ์ฃผ๋Š” ์ด์œ ๋Š” stations[0] - W ๋Š” ์ „ํŒŒ๊ฐ€ ์ „๋‹ฌ๋˜๋Š” ์•„ํŒŒํŠธ์ด๋ฏ€๋กœ ํฌํ•จํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์ข€ ๋” ์ผ๋ฐ˜ํ™”ํ•˜์ž๋ฉด, ์œ„์—์„œ ์šฐ๋ฆฌ๊ฐ€ ์•Œ๊ณ  ์‹ถ์€ ๊ฒƒ์€ true ๊ฐ€ ๋๋‚˜๋Š” ์‹œ์ ๋ถ€ํ„ฐ ๋‹ค์Œ true ๊ฐ€ ๋‚˜์˜ค๋Š” ์‹œ์  ์‚ฌ์ด์— false ๊ฐ€ ๋ช‡ ๊ฐœ๋‚˜ ์กด์žฌํ•˜๋Š๋ƒ ์˜€๋‹ค. ์œ„์˜ ๊ณต์‹์€ ๋งจ ์•ž๋ถ€ํ„ฐ ๊ฐœ์ˆ˜๋ฅผ ์„ธ๋Š” ๊ฒƒ์€ true ๊ฐ€ ๋๋‚˜๋Š” ์‹œ์ ์ด๋ž‘ ์ƒ๊ด€์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— 1๊ณผ stations[0] - W ์‚ฌ์ด์— ๋ช‡ ๊ฐœ์˜ ์•„ํŒŒํŠธ๊ฐ€ ์žˆ๋Š”์ง€๋ฅผ ๊ณ„์‚ฐํ–ˆ์ง€๋งŒ, ์ดํ›„์—๋Š” (๋งจ ๋’ค๋ฅผ ์ œ์™ธํ•˜๊ณ ) ๋ชจ๋‘ ์ด์ „ true ๊ฐ€ ๋๋‚œ ์‹œ์  ๊ณผ stations[0] - W ์‚ฌ์ด์— ๋ช‡ ๊ฐœ์˜ ์•„ํŒŒํŠธ๊ฐ€ ์žˆ๋Š”์ง€๋ฅผ ๊ณ„์‚ฐํ•  ๊ฒƒ์ด๋‹ค. ๋งจ ๋’ค์—์„œ๋Š” ๋˜ ๋‹ค๋ฅธ ์ƒํ™ฉ์ด ํŽผ์ณ์ง€๋Š”๋ฐ, ์ด๋Š” ์ข€ ์žˆ๋‹ค ์„ค๋ช…ํ•˜๊ฒ ๋‹ค.

๊ทธ๋ž˜์„œ ๊ณ„์† true ๊ฐ€ ๋๋‚˜๋Š” ์‹œ์ ์„ ์ถ”์ ํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค. ๋ณ€์ˆ˜๋ฅผ ํ•˜๋‚˜ ์„ ์–ธํ•ด์ฃผ๊ณ , ์ด๋ฆ„์„ ptrToTrueOccurrence ๋ผ๊ณ  ์ง€์—ˆ๋‹ค. ๋Œ€์ถฉ true ๊ฐ€ ์ตœ๊ทผ ๋งˆ์ง€๋ง‰์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ๋˜ ์œ„์น˜๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ํฌ์ธํ„ฐ ๋ณ€์ˆ˜๋ผ๋Š” ์˜๋ฏธ์ด๋‹ค.

 

์ข€ ๋” ์ƒ๊ฐํ•ด๋ณด๋ฉด, ptrToTrueOccurence ๋Š” ๊ฐ€์žฅ ์ฒ˜์Œ์—๋Š” 0์ด๊ฒ ์ง€๋งŒ (๊ฐ€์žฅ ์ฒ˜์Œ์—๋Š” ์•„ํŒŒํŠธ 0๋ฒˆ์งธ์— true ๊ฐ€ ๋‚˜ํƒ€๋‚ฌ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋„ ๋œ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด 1๋ถ€ํ„ฐ ์ „ํŒŒ๊ฐ€ ์ „๋‹ฌ๋˜์ง€ ์•Š์€ ์•„ํŒŒํŠธ์˜ ๊ฐœ์ˆ˜๋ฅผ ์„ธ๊ฒŒ ๋œ๋‹ค) ์ดํ›„์—๋Š” ์ง„์งœ ์ด์ „ true์˜ ์œ„์น˜, ์ฆ‰ ๋งค ๋ฐ˜๋ณต ์‹œ์— stations ์— ์žˆ๋Š” ์›์†Œ์— W ๋ฅผ ๋”ํ•œ ๊ฐ’์ด ๋œ๋‹ค. ๊ทธ ์ด์œ ๋Š” ๊ธฐ์ง€๊ตญ์ด ์„ค์น˜๋œ ์•„ํŒŒํŠธ์—์„œ W ๋งŒํผ ์ „ํŒŒ ์ „๋‹ฌ์„ ์–‘์ชฝ์œผ๋กœ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ธ๋ฑ์Šค๋กœ ๋”ฐ์ง€๋ฉด ์•„ํŒŒํŠธ ๋ฒˆํ˜ธ stations[index] - W ๋ถ€ํ„ฐ stations[index] + W ๊นŒ์ง€ ์ „ํŒŒ ์ „๋‹ฌ์ด ๋‹ฟ๊ณ  ๋ฉˆ์ถ”๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ฆ‰, ptrToTrueOccurrence ์—๋Š” ๋งค๋ฒˆ stations[index] + W ๋ฅผ ํ• ๋‹นํ•ด์ฃผ๋ฉด ๋‹ค์Œ ๋ฐ˜๋ณต ์‹œ์— ์ด์ „์— ์–ด๋””์„œ true ๊ฐ€ ๋ฉˆ์ถ”์—ˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ๊ณ , ์ •ํ™•ํ•˜๊ฒŒ false ์˜ ์—ฐ์† ๊ตฌ๊ฐ„์„ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. 

 

์•„๊นŒ ์ดํ›„์— ์„ค๋ช…ํ•˜๊ฒ ๋‹ค๊ณ  ํ•œ ๋งจ ๋’ค์—์„œ์˜ ์ƒํ™ฉ์„ ๋ณด์ž. ์•„ํŒŒํŠธ ๋ชฉ๋ก์˜ ๋งจ ๋’ค๋Š” N ์ด๋‹ค. ์•„ํŒŒํŠธ N์€ ๋‹ค๋ฅธ ์•„ํŒŒํŠธ์˜ stations[idx] - W ๊ฐ€ ๋  ์ˆ˜ ์—†๋‹ค. ๊ทธ๋ž˜์„œ stations ๋‚ด์˜ ๋ชจ๋“  ๊ธฐ์ง€๊ตญ์ด ์„ค์น˜๋œ ์•„ํŒŒํŠธ๋ฅผ ์ด์šฉํ•ด ์—ฐ์† ๊ตฌ๊ฐ„ ํŒŒ์•…์„ ์™„๋ฃŒํ–ˆ์œผ๋ฉด  ๋ชจ๋‘ stations ์˜ ๋งˆ์ง€๋ง‰ ์›์†Œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ด์ „ ์•„ํŒŒํŠธ๋“ค์˜ ์—ฐ์† ๊ตฌ๊ฐ„์˜ ํŒŒ์•…์ด ์™„๋ฃŒ๋œ ๊ฒƒ์ด๋ฏ€๋กœ ๋งˆ์ง€๋ง‰์œผ๋กœ ๋งˆ์ง€๋ง‰ ๊ตฌ๊ฐ„์„ ํŒŒ์•…ํ•ด์•ผ ํ•œ๋‹ค. N ๊ณผ ptrToTrueOccurence ์‚ฌ์ด์— ๋ช‡ ๊ฐœ์˜ ์•„ํŒŒํŠธ๊ฐ€ ์žˆ๋Š”์ง€ ์ถ”๊ฐ€์ ์œผ๋กœ ํŒŒ์•…ํ•˜๋ฉด ๋œ๋‹ค.

 

์ด๋ ‡๊ฒŒ ๊ธ€๋กœ ์ฃผ์ €๋ฆฌ์ฃผ์ €๋ฆฌ ์“ด ๋‚ด์šฉ์„ ์ฝ”๋“œ๋กœ ์ž‘์„ฑํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค:

 

List<Integer> numOfFs = new ArrayList<>();

int ptrToTrueOccurrence = 0;

for (int i = 0; i < stations.length; i++) {
    if (i == stations.length - 1 && N > stations[i] + W) {
        numOfFs.add(N - (stations[i] + W));
    }
    int countFalse = (stations[i] - W - 1) - ptrToTrueOccurrence;
    if (countFalse <= 0) {
        ptrToTrueOccurrence = stations[i] + W;
        continue;
    }
    numOfFs.add(countFalse);
    ptrToTrueOccurrence = stations[i] + W;
}

stations ์— ์žˆ๋Š” ๋ชจ๋“  ๊ธฐ์ง€๊ตญ์ด ์„ค์น˜๋œ ์•„ํŒŒํŠธ์˜ ๋ฒˆํ˜ธ๋“ค์— ๋Œ€ํ•ด, ๋งจ ๋์— ๋„๋‹ฌํ–ˆ๊ณ  ๋งจ ๋์ด ํ˜„์žฌ ๊ธฐ์ง€๊ตญ์ด ์„ค์น˜๋œ ๋‹ค๋ฅธ ์•„ํŒŒํŠธ์—์„œ ์ปค๋ฒ„ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ”์œ„ ์•ˆ์— ๋“ค์ง€ ์•Š์•˜์„ ๋•Œ์—๋Š” ์ „ํŒŒ ์ „๋‹ฌ์ด ํ•„์š”ํ•œ ์—ฐ์† ๊ตฌ๊ฐ„์„ ํŒŒ์•…ํ•ด์•ผ ํ•˜๋Š” ์ƒํ™ฉ์ด๋ฏ€๋กœ N - (stations[i] + W), ์ฆ‰ N์„ ํฌํ•จํ•œ (N์€ ์ „ํŒŒ ์ „๋‹ฌ์ด ์•ˆ ๋˜์—ˆ์œผ๋ฏ€๋กœ) stations๊ฐ€ ์ปค๋ฒ„ํ•˜๋Š” ์ตœ๋Œ€์˜ ์•„ํŒŒํŠธ ๋ฒˆํ˜ธ์™€ N ์‚ฌ์ด์˜ ์•„ํŒŒํŠธ ๊ฐœ์ˆ˜ ๋ฅผ ๊ณ„์‚ฐํ•ด์„œ numOfFs ์— ์ €์žฅํ•œ๋‹ค.

๋งจ ๋์— ๋„๋‹ฌํ•˜๊ธฐ ์ „์—๋Š” ์ด์ „ true ๊ฐ€ ๋งˆ์ง€๋ง‰ ๋“ฑ์žฅํ•œ ์œ„์น˜์™€ ํ˜„์žฌ ํƒ์ƒ‰ ์ค‘์ธ ๊ธฐ์ง€๊ตญ์ด ์„ค์น˜๋œ ์•„ํŒŒํŠธ์˜ ์ „ํŒŒ ์ „๋‹ฌ ๋ฒ”์œ„์—์„œ ๊ฐ€์žฅ ์™ผ์ชฝ, ๊ฐ€์žฅ ์ž‘์€ ๋ฒˆํ˜ธ๋ฅผ ๊ฐ€์ง„ ์•„ํŒŒํŠธ ์˜ ์œ„์น˜ ์‚ฌ์ด์— ๋ช‡ ๊ฐœ์˜ ์•„ํŒŒํŠธ๊ฐ€ ์žˆ๋Š”์ง€๋ฅผ countFalse ์— ์ €์žฅํ•œ๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  ๋งŒ์•ฝ countFalse ๊ฐ€ ์–‘์˜ ์ •์ˆ˜๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด, ์ฆ‰ ์•„ํŒŒํŠธ๊ฐ€ 0๊ฐœ ๋˜๋Š” ๊ทธ ์ดํ•˜ (์ดํ•˜์ธ ๊ฒฝ์šฐ๋Š” ๊ธฐ์ง€๊ตญ์ด ์—ฐ์†์œผ๋กœ ์„ค์น˜๋˜์–ด ์žˆ๋Š” ์ƒํ™ฉ์—์„œ ๋ฐœ์ƒํ•œ๋‹ค.) ๋ผ๋ฉด ํ˜„์žฌ ํƒ์ƒ‰ํ•˜๋Š” ๊ธฐ์ง€๊ตญ์ด ์„ค์น˜๋œ ์•„ํŒŒํŠธ์˜ ์ตœ๋Œ€ ์ „ํŒŒ ์ „๋‹ฌ ๊ฐ€๋Šฅ ์œ„์น˜๋ฅผ ptrToTrueOccurence ์— ์ €์žฅํ•˜๊ณ  (true ์˜ ๋งˆ์ง€๋ง‰ ์œ„์น˜๊ฐ€ ๋  ๊ฒƒ์ด๋ฏ€๋กœ) ์ดํ›„์˜ ๋™์ž‘์€ ์ƒ๋žตํ•œ๋‹ค.

 

์–‘์˜ ์ •์ˆ˜๋ผ๋ฉด, countFalse ๊ฐ€ ํŒŒ์•…์ด ๋˜์—ˆ์œผ๋ฏ€๋กœ (์—ฐ์†๋œ ๊ตฌ๊ฐ„์—์„œ์˜ ์ „ํŒŒ ์ „๋‹ฌ์ด ํ•„์š”ํ•œ ์•„ํŒŒํŠธ์˜ ๊ฐœ์ˆ˜) ์ด๋ฅผ numOfFs ์— ์ €์žฅํ•˜๊ณ ์„œ true ๊ฐ€ ๋„๋‹ฌํ•œ ์œ„์น˜๋ฅผ ptrToTrueOccurence ์— ์ €์žฅํ•œ๋‹ค.

 

๊ฒฐ๊ตญ ์œ„ ์ฝ”๋“œ๋Š” numOfFs ์— ๋ชจ๋“  ์ „ํŒŒ๊ฐ€ ์ „๋‹ฌ๋˜์ง€ ์•Š์€ ์•„ํŒŒํŠธ๋“ค์˜ ์—ฐ์† ๊ตฌ๊ฐ„์—์„œ์˜ ์•„ํŒŒํŠธ๋“ค์˜ ๊ฐœ์ˆ˜๋ฅผ ์ €์žฅํ•  ๊ฒƒ์ด๋‹ค.

๋‘ ๋ฒˆ์งธ ์‹œ๋„์—์„œ false ์™€ true ๋กœ ๊ตฌ์„ฑ๋œ ๋ฐฐ์—ด์„ ์ค‘์ฒฉ ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ๋งŒ๋“ค๊ณ  ๋˜ ์ด์ค‘ ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ์ด ๋ฐฐ์—ด์— ์žˆ๋Š” false ์˜ ์—ฐ์† ๊ตฌ๊ฐ„์—์„œ์˜ false์˜ ๊ฐœ์ˆ˜๋ฅผ ์„ธ๋Š” ๊ณผ์ •์„ for ๋ฌธ ํ•˜๋‚˜๋กœ ๋Œ€์ฒดํ–ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ์™„์„ฑ๋œ ์ฝ”๋“œ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค:

public int solution(int N, int[] stations, int W) {
    List<Integer> numOfFs = new ArrayList<>();

    int ptrToTrueOccurrence = 0;

    for (int i = 0; i < stations.length; i++) {
        if (i == stations.length - 1 && N > stations[i] + W) {
            numOfFs.add(N - (stations[i] + W));
        }
        int countFalse = (stations[i] - W - 1) - ptrToTrueOccurrence;
        if (countFalse <= 0) {
            ptrToTrueOccurrence = stations[i] + W;
            continue;
        }
        numOfFs.add(countFalse);
        ptrToTrueOccurrence = stations[i] + W;
    }

    int countMin = 0;

    for (int countF : numOfFs) {
        if (countF % ((W * 2) + 1) == 0) {
            countMin += countF / ((W * 2) + 1);
            continue;
        }
        countMin += (countF / ((W * 2) + 1)) + 1;
    }

    return countMin;
}

 

2์ค‘ ๋ฐ˜๋ณต๋ฌธ ๋‘ ๊ฐœ๋ฅผ ์—†์• ๋‹ˆ๊นŒ ํ›จ์”ฌ ์ฝ”๋“œ์˜ ๊ธธ์ด๊ฐ€ ์งง์•„์กŒ๋‹ค. ๋˜ํ•œ ๊ฒฐ๊ณผ์ ์œผ๋กœ ํšจ์œจ์„ฑ ํ…Œ์ŠคํŠธ๋ฅผ ๋ชจ๋‘ ํ†ต๊ณผํ–ˆ๋‹ค. 

Note
IDE ๋กœ ์ž‘์„ฑํ•  ๋•Œ ๋ฉ”์ธ ํ•จ์ˆ˜์—์„œ ์‹คํ–‰์„ ์šฉ์ดํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ๋ฉ”์„œ๋“œ๋ฅผ ์Šคํƒœํ‹ฑ์œผ๋กœ ์ž‘์„ฑํ•ด๋†“๊ณ  ๋ณต๋ถ™์„ ํ•˜๋‹ˆ๊นŒ ํ•œ ๊ฐœ์˜ ํšจ์œจ์„ฑ ํ…Œ์ŠคํŠธ๊ฐ€ ์‹คํŒจํ–ˆ๋‹ค. ํ˜น์‹œ๋‚˜ ์Šคํƒœํ‹ฑ์œผ๋กœ ๋ฉ”์„œ๋“œ์˜ ์ ‘๊ทผ ์ œ์–ด์ž๋ฅผ ์„ค์ •ํ•œ ๊ฒƒ์ด ๋ฌธ์ œ์˜€๋‚˜ ์‹ถ์–ด์„œ ์ง€์› ๋Š”๋ฐ ํšจ์œจ์„ฑ ํ…Œ์ŠคํŠธ๋ฅผ ๋ชจ๋‘ ํ†ต๊ณผํ•˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ์Šคํƒœํ‹ฑ ์‚ฌ์šฉ์„ ์ฃผ์˜ํ•˜์ž. ๐Ÿ˜‚

๐Ÿšฉ ๊ฒฐ๋ก 

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

 

๐Ÿงถ ์ถœ์ฒ˜

https://school.programmers.co.kr/learn/courses/30/lessons/12979

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
ยซ   2025/01   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
๊ธ€ ๋ณด๊ด€ํ•จ