๐์ง์ ๋ฌธ์ ํ๋ฌ๊ฐ๊ธฐ
๋ฌธ์
- ์ง๋๋ ํ ๋ณ์ ๊ธธ์ด๊ฐ n์ธ ์ ์ฌ๊ฐํ ๋ฐฐ์ด ํํ๋ก, ๊ฐ ์นธ์ ๊ณต๋ฐฑ(" ") ๋๋๋ฒฝ("#") ๋ ์ข ๋ฅ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.
- ์ ์ฒด ์ง๋๋ ๋ ์ฅ์ ์ง๋๋ฅผ ๊ฒน์ณ์ ์ป์ ์ ์๋ค. ๊ฐ๊ฐ ์ง๋1๊ณผ ์ง๋2๋ผ๊ณ ํ์. ์ง๋1 ๋๋ ์ง๋2 ์ค ์ด๋ ํ๋๋ผ๋ ๋ฒฝ์ธ ๋ถ๋ถ์ ์ ์ฒด ์ง๋์์๋ ๋ฒฝ์ด๋ค. ์ง๋ 1๊ณผ ์ง๋ 2์์ ๋ชจ๋ ๊ณต๋ฐฑ์ธ ๋ถ๋ถ์ ์ ์ฒด ์ง๋์์๋ ๊ณต๋ฐฑ์ด๋ค.
- ์ง๋ 1๊ณผ ์ง๋ 2๋ ๊ฐ๊ฐ ์ ์ ๋ฐฐ์ด๋ก ์ํธํ๋์ด ์๋ค.
- ์ํธํ๋ ๋ฐฐ์ด์ ์ง๋์ ๊ฐ ๊ฐ๋ก์ค์์ ๋ฒฝ ๋ถ๋ถ์ 1, ๊ณต๋ฐฑ ๋ถ๋ถ์ 0์ผ๋ก ๋ถํธํํ์ ๋ ์ป์ด์ง๋ ์ด์ง์์ ํด๋นํ๋ ๊ฐ์ ๋ฐฐ์ด์ด๋ค.
๋ฌธ์ ํ์ด
1. ๊ฐ ๋ฐฐ์ด์ i๋ฒ์งธ ์ ์๋ฅผ ์ด์ง์๋ก ๋ฐ๊พธ์์ ๋ 01 ๊ณผ 11๋ผ๋ฉด ํด๋ ๋ ์ซ์๋ ์ด์ง์ 11์ด๋ค. ์ฆ, OR ์ฐ์ฐ์ ํ์ฉํ๋ฉด ๋๋ค.
2. ๊ฒฐ๊ณผ๋ก n ๊ธธ์ด์ ๋ฌธ์์ด์ n๊ฐ ๋ด์ ๋ฐฐ์ด์ ๋ฐํํ๋ค. i๋ฒ์งธ ์ด์ง์์ 1์ #์ผ๋ก 0์ ๊ณต๋ฐฑ์ผ๋ก ๋ณํํด์ผํ๋ค.
- NUMBER.prototype.toString([radix]): ์ ์ 2 - 36์ ํ๋ผ๋ฏธํฐ๋ก ์ฌ์ฉํ์ฌ ์ง์๋ฅผ ๋ช ์ํ ์ ์๋ค.
- ์๋ฐ์คํฌ๋ฆฝํธ์ ๊ฒฝ์ฐ ์์๊ฐ์ ๋ฐฐ์ด์ ์ธ๋ฑ์ค ๊ฐ์ผ๋ก ์ค ๋, undefined๋ฅผ ๋ฐํํ๋ค.
- ์ ๊ทํํ์ ํ๋๊ทธ
- g ์ ์ญ๊ฒ์
- i ๋์๋ฌธ์ ๊ตฌ๋ถ ์๋ ๊ฒ์
- m ๋ค์คํ(multi-line) ๊ฒ์
- s .์ ๊ฐํ ๋ฌธ์๋ ๋งค์นญ(es2018)
- u ํจํด์ ์ ๋์ฝ๋ ์ฝ๋ ํฌ์ธํธ์ ๋์ด๋ก ์ทจ๊ธ
- y sticky ๊ฒ์
์๊ฐ๋ณต์ก๋: O(N^2)
๊ณต๊ฐ๋ณต์ก๋: O(N)