N M1
Last updated
Last updated
๋ฌธ์ ์ค๋ช : 1๋ถํฐ N๊น์ง ์์ฐ์ ์ค ์ค๋ณต์์ด M๊ฐ๋ฅผ ๊ณจ๋ผ ์์ด์ ๋ง๋ ๋ค. ์ฌ์ ์ฆ๊ฐ์์ผ๋ก ์ถ๋ ฅํด๋ผ.
์๊ณ ๋ฆฌ์ฆ ์๊ฐ
ํ์ํ ์๋ฃ๊ตฌ์กฐ : ์ค๋ณต ์ฒดํฌ๋ฅผ ํ๊ธฐ ์ํด boolean ๋ฐฐ์ด, ์์ด์ ์ ์ฅํ๊ธฐ ์ํ int ๋ฐฐ์ด
์์ด ๋ฐฐ์ด์ 0๋ถํฐ m-1๊น์ง index๋ฒ์งธ ์๋ฅผ ์ฑ์ด๋ค. a[index] = x, index = index+1, x๋ ์ฌ์ ์ฆ๊ฐ์ ์ถ๋ ฅ์ด๊ธฐ ๋๋ฌธ์ 1๋ถํฐ ์์, n๊น์ง ๊ฐ๋ฅ ๋ฃ์ x๋ฅผ ๋ค์์ ์ ํํ ๋ ๋นผ๊ธฐ ์ํด c[x] = true๋ก ๊ธฐ๋กํด์ค๋ค.
index+1๋ฒ์งธ ์๋ฅผ ๊ฒฐ์ ํ๊ธฐ ์ํด ์ฌ๊ทํจ์๋ก ํธ์ถํ๋ฉด ์ค๋ณต์ฒดํฌ c๋ฐฐ์ด์์ ์ฌ์ฉ ๊ฐ๋ฅํ ์ ์๋ฅผ ํ์ธํ ์ ์๊ณ , 1๋ถํฐ ์ฒดํฌํ์ฌ ์ฌ์ฉํ์ง ์์ ์๊ฐ ๋์ค๋ฉด ๊ทธ ์๋ฅผ index+1์ ๋ฃ๋๋ค.
for๋ฌธ i=1~n๊น์ง ๋ค ๋๊ณ ๋๋ฉด ๋์์์ c[i] = false;์ฒ๋ฆฌ๋ฅผ ๊ผญ ํด์ค๋ค! ๊ทธ๋ ์ง ์์ผ๋ฉด ์์๋ฆฌ ์๋ก ๋์๊ฐ์ ๋ ๋ชจ๋ ์๊ฐ true๋ก ๋์ด ์ ํ ๊ฐ๋ฅํ ์๊ฐ ์๊ฒ ๋๊ธฐ ๋๋ฌธ์ด๋ค! =>์ด ๊ทธ๋ผ ์ด๋ฏธ ์ฌ์ฉํ ์์ธ๋ฐ false ์ฒ๋ฆฌํ๋ฉด ๋ค์ ์ด ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ผ๋ก ๋๋ฉด ์ด๋ปํ๋ ํ๋ ์ผ๋ ค๋ ํ์์๋ค. ์๋ํ๋ฉด index๋ฒ์งธ ์๋ฅผ ์ฑ์ธ ๋ i๋ 1๋ถํฐ 1์ฉ ์ฆ๊ฐํ๊ธฐ ๋๋ฌธ์, index๋ฒ์งธ์ i=3์ ์ฑ์ฐ๊ณ ๋์ c[i=3] = false์ฒ๋ฆฌ๋ฅผ ํ๊ณ ๋๋ฉด i=4๊ฐ ๋๊ณ ์๋ฌด๋ฐ ์ํฅ ๊ด๊ณ๊ฐ ์๊ธฐ ๋๋ฌธ์ด๋ค!
ํต์ฌ์ด ๋๋ ์ฌ๊ท ํจ์ ๋ถ๋ถ
์ฌ๊ทํจ์ ์คํ ์์(ํ๋ฆ)