๐Ÿคช2343๋ฒˆ. ๊ธฐํƒ€ ๋ ˆ์Šจ 2ํ”„๋กœ ๋ถ€์กฑํ•จ.

phoenixKimยท2022๋…„ 8์›” 2์ผ
0

๋ฐฑ์ค€ ์•Œ๊ณ ๋ฆฌ์ฆ˜

๋ชฉ๋ก ๋ณด๊ธฐ
54/174

๐Ÿคช๊ฐœ์„ ํ•  ์ .

  • 17์ด๋ผ๋Š” ์ˆ˜๋ฅผ 3๊ฐœ์˜ ๊ทธ๋ฃน์œผ๋กœ ๋‚˜๋‰  ๋•Œ ์ตœ์†Œ๊ฐ’์ด ๋œ๋‹ค๋Š” ์˜๋ฏธ์ž„.
  • ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ ์ด๋Ÿฐ์‹์œผ๋กœ ํ–ˆ์Œ.
  • ๊ทธ๋ฆผ

    : ์ด๊ฒŒ ์˜๋ฏธํ•˜๋Š” ๊ฒƒ์ด ๋ญ๋ƒ๋ฉด? 12345 ์—์„œ ์นด์šดํŒ…์„ ํ•ด์•ผ ํ•˜์ง€๋งŒ, ์ฝ”๋“œ ์ž‘์—…์ด ๋‚œํ•ดํ•˜๋ฏ€๋กœ 12345 6 ์ด ๋  ๋•Œ ์นด์šดํŒ…์„ ํ•˜๋Š” ์‹์œผ๋กœ ํ•ด์„œ ์ง„ํ–‰ํ•จ.

-> ๊ฒฐ๊ณผ : ์ด๋ ‡๊ฒŒ ํ•˜๊ฒŒ ๋  ๊ฒฝ์šฐ, ๋ฌธ์ œ๊ฐ€ ์žˆ์Œ. 16๋„ ํฌํ•จ์ด ๋จ.
ํ•˜์ง€๋งŒ 16์€ ๋…ผ๋ฆฌ์ ์œผ๋กœ ๋“ค์–ด๊ฐ€๋ฉด ์•ˆ๋จ.
16์ผ ๊ฒฝ์šฐ
12345 / 67 / 8 / 9 ์ด๋Ÿฐ์‹์ธ๋ฐ,
๋‚ด๊ฐ€ ๋งŒ๋“  ํ”„๋กœ์„ธ๋ฅด์—์„œ๋Š” ์ „ํ˜€ ๋‹ค๋ฅธ ๋ฐฉํ–ฅ์œผ๋กœ ์ฒ˜๋ฆฌ๋จ.

  • ๋„์ €ํžˆ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ• ์ง€ ์ƒ๊ฐ์ด ๋‚˜์ง€ ์•Š์•˜์Œ.
    ์™œ๋ƒํ•˜๋ฉด for๋ฌธ ์•ˆ์—์„œ๋งŒ ์ฒ˜๋ฆฌํ•˜๋ ค๊ณ  ํ–ˆ์Œ.

์ƒ๊ฐ์„ ๋ฐ”๊ฟ”์•ผ ํ•จ.

  • ์ผ๋‹จ ๋ธ”๋ฃจ๋ ˆ์ด 1๊ฐœ๋ถ€ํ„ฐ ์‹œ์ž‘์„ ํ•˜๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋ฏ€๋กœ cnt๋ฅผ 1๋กœ ์„ค์ •ํ•˜๊ณ ,
    ํ•ด๋‹น ๋ธ”๋ฃจ๋ ˆ์ด๊ฐ€ ์ดˆ๊ณผ ๋  ๊ฒฝ์šฐ, ๋ธ”๋ฃจ๋ ˆ์ด์˜ ์ˆ˜๋Ÿ‰์„ ์ฆ๊ฐ€ํ•ด์•ผ ํ•จ.
  • ๋‘๋ฒˆ์งธ๋กœ ๋งŒ์•ฝ์— ๋ธ”๋ฃจ๋ ˆ์ด์˜ ์ด๋Ÿ‰๊ณผ ๋‹ด๋Š” ๊ธฐํƒ€ ๊ฐ•์˜๊ฐ€ ๋™์ผํ•  ๊ฒฝ์šฐ์—๋Š”
    ๋ธ”๋ฃจ๋ ˆ์ด์˜ ์ˆ˜๋Ÿ‰์„ ์ฆ๊ฐ€ํ•˜๋ฉด ์•ˆ๋จ.
    -> ์ƒˆ๋กœ์šด ๋ธ”๋ฃจ๋ ˆ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด, ๋‹น์—ฐํžˆ ์šฉ๋Ÿ‰ ์ดˆ๊ณผํ•˜๋ฉด ๊ต์ฒด๋ฅผ ํ•ด์•ผํ•˜์ž๋‚˜.

๊ฒฐ๋ก 

  • ๋ญ”๊ฐ€ ์ž˜๋ชป๋˜์—ˆ์„ ๋•Œ, ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค์—์„œ๋งŒ ๋ฐ”๊พธ๋ ค๊ณ ๋งŒ ํ•˜์ง€ ๋ง๊ณ , ๋‹ค๋ฅธ
    ๋ถ€๋ถ„๋„ ๋ˆˆ์—ฌ๊ฒจ ๋ณด์ž.
  • ๋‚ด ์ƒ๊ฐ์ด ์ž˜๋ชป๋˜์ง€ ์•Š์•˜์„๊นŒ์— ๋Œ€ํ•ด์„œ ์ƒ๊ฐ์„ ํ•ด์•ผํ•จ.

์ด ๋ฌธ์ œ์—์„œ ๋ธ”๋ฃจ๋ ˆ์ด์˜ ์ดˆ๊ธฐ๊ฐ’์€ 0์ด ์•„๋‹˜! 1๋กœ ์‹œ์ž‘ํ•ด์•ผ ํ•จ!

์—ฌ๊ธฐ์„œ๋Š” ๋ธ”๋ฃจ๋ ˆ์ด ์‚ฌ์šฉ ๊ฐฏ์ˆ˜์™€ ์–ด๋–ค ์‹์œผ๋กœ ๋ธ”๋ฃจ๋ ˆ์ด ๊ฐฏ์ˆ˜๋ฅผ ์ฆ๊ฐ€ํ• ์ง€์—
๋Œ€ํ•œ ์ƒ๊ฐ์ด ์ž˜๋ชป๋˜์—ˆ์Œ.


์–ด๋–ป๊ฒŒ ํ’€ ๊ฒƒ์ธ๊ฐ€?

  • ๋ฌธ์ œ๋ฅผ ๋ณด๊ณ  , n ๊ณผ m์ด 10๋งŒ๊ฐœ ์ผ ๊ฒฝ์šฐ, ์‹œ๊ฐ„ ๋ณต์žก๋„๊ฐ€ ํฌ๋ฏ€๋กœ,
    logN์ธ ์ด๋ถ„ํƒ์ƒ‰์„ ํ•ด์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์„ ํ•˜๊ฒŒ ๋จ.

  • ์ตœ๋Œ€๊ฐ’์„ ์–ด๋–ป๊ฒŒ ์„ค์ •ํ• ๊นŒ์— ๋Œ€ํ•œ ์ƒ๊ฐ์„ ํ•ด์•ผํ•จ.
    ๋งŒ์•ฝ์— m์ด 1์ด๋ผ๊ณ  ํ•œ๋‹ค๋ฉด, ํ•˜๋‚˜์˜ ๋ธ”๋ฃจ๋ ˆ์ด์— ๋ชจ๋“  ๋™์˜์ƒ์„ ๋‹ด์•„์•ผ ํ•˜๋ฏ€๋กœ,
    ์ด ๋•Œ๋Š” ์ด ๋™์˜์ƒ์˜ ์‹œ๊ฐ„์ด๋ฏ€๋กœ 45
    ์ฆ‰ sum (total) ์„ ๋‚˜ํƒ€๋ƒ„.

  • ์ด๋ถ„ ํƒ์ƒ‰์ด๋ฏ€๋กœ 1 ~ sum์„ ๊ธฐ์ค€์œผ๋กœ ํ•ด์„œ ์ง„ํ–‰ํ•˜์ž.

  • ํ•˜๋‚˜์˜ ํ•จ์ˆ˜ ์•ˆ์—์„œ int ret = mid ๊ฐ’ - v[i] ๋ฅผ ํ•˜๋ฉด์„œ ,
    ret ๊ฐ€ 0๋ณด๋‹ค ์ž‘์„ ๊ฒฝ์šฐ, ๋ธ”๋ฃจ๋ ˆ์ดCnt++ ์นด์šดํŒ…์„ ํ•˜๋ฉด์„œ,
    ์ตœ์ข… ์ ์œผ๋กœ ์ž…๋ ฅ๋œ m๊ฐ’๊ณผ ๋น„๊ต๋ฅผ ํ•˜๋ฉด์„œ ์ง„ํ–‰ํ•จ.

  • ๊ทธ๋Ÿฌ๋ฉด์„œ check ํ•จ์ˆ˜์—์„œ true ๋ฐ˜ํ™˜ํ•˜๋ฉด,
    mid ์˜ ์ตœ์†Œ๊ฐ’์„ ์ฒ˜๋ฆฌํ•˜๋ฉด์„œ ์ตœ์†Œ๊ฐ’์„ ์ถœ๋ ฅํ•˜์ž.

profile
๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ

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

๊ด€๋ จ ์ฑ„์šฉ ์ •๋ณด