๊ธ€ ์ž‘์„ฑ์ž: ๊ฐœ๋ฐœํ•˜๋Š” ํ›ˆ์ด

๋ฌธ์ œ

https://programmers.co.kr/learn/courses/30/lessons/70129

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์ด์ง„ ๋ณ€ํ™˜ ๋ฐ˜๋ณตํ•˜๊ธฐ

 

programmers.co.kr

0๊ณผ 1๋กœ ์ด๋ฃจ์–ด์ง„ ์–ด๋–ค ๋ฌธ์ž์—ด x์— ๋Œ€ํ•œ ์ด์ง„ ๋ณ€ํ™˜์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

  1. x์˜ ๋ชจ๋“  0์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.
  2. x์˜ ๊ธธ์ด๋ฅผ c๋ผ๊ณ  ํ•˜๋ฉด, x๋ฅผ "c๋ฅผ 2์ง„๋ฒ•์œผ๋กœ ํ‘œํ˜„ํ•œ ๋ฌธ์ž์—ด"๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, x = "0111010"์ด๋ผ๋ฉด, x์— ์ด์ง„ ๋ณ€ํ™˜์„ ๊ฐ€ํ•˜๋ฉด x = "0111010" -> "1111" -> "100" ์ด ๋ฉ๋‹ˆ๋‹ค.

0๊ณผ 1๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด s๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. s๊ฐ€ "1"์ด ๋  ๋•Œ๊นŒ์ง€ ๊ณ„์†ํ•ด์„œ s์— ์ด์ง„ ๋ณ€ํ™˜์„ ๊ฐ€ํ–ˆ์„ ๋•Œ, ์ด์ง„ ๋ณ€ํ™˜์˜ ํšŸ์ˆ˜์™€ ๋ณ€ํ™˜ ๊ณผ์ •์—์„œ ์ œ๊ฑฐ๋œ ๋ชจ๋“  0์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ฐ๊ฐ ๋ฐฐ์—ด์— ๋‹ด์•„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.


์ œํ•œ์‚ฌํ•ญ

  • s์˜ ๊ธธ์ด๋Š” 1 ์ด์ƒ 150,000 ์ดํ•˜์ž…๋‹ˆ๋‹ค.
  • s์—๋Š” '1'์ด ์ตœ์†Œ ํ•˜๋‚˜ ์ด์ƒ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

ํ’€์ด

๋ฌธ์ œ์— ์ฃผ์–ด์ง„๋Œ€๋กœ ๊ตฌํ˜„๋งŒ ํ•˜๋ฉด ๋˜๋Š” ๋ฌธ์ œ์˜€์Šต๋‹ˆ๋‹ค. ๋ณ€ํ™˜ ํ›„์˜ ๊ธธ์ด๋ฅผ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด์„œ replacingOccurences๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ, ๋‹จ์ˆœํฌ ๊ธธ์ด๋ฅผ ๊ตฌํ•˜๊ธฐ ์œ„ํ•œ ์šฉ๋„๋ผ๋ฉด, ์‹ค์ œ ๋ฌธ์ž์—ด์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ ๋ณด๋‹ค ์•ž์„œ ๊ตฌํ–ˆ๋˜ 0์˜ ๊ฐœ์ˆ˜๋ฅผ ์ด์šฉํ•ด์„œ 1์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•˜๋ฉด ๋”ฐ๋กœ ๋ฌธ์ž์—ด์„ ์กฐ์ž‘ํ•˜์ง€ ์•Š์•„๋„ ์ƒˆ๋กœ ๋งŒ๋“ค์–ด์ง€๋Š” ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฝ”๋“œ