๋ถ๋ถ ์์ด ํ๋ณด๊ตฐ์ '๋ฒ์'๋ฅผ ์ต๋ํ ๋๊ฒ ๊ฐ๋๋ก ์์ฌ๋ถ๋ฆฌ๋ ๋ฌธ์ ์ด๋ค.
30805๋ฒ: ์ฌ์ ์ ์ต๋ ๊ณตํต ๋ถ๋ถ ์์ด
boj.ma
๋ฌธ์ ์์ฝ
์์ด A์ ์์ด B๊ฐ ๊ณตํต์ผ๋ก ๊ฐ๋ ๋ถ๋ถ ์์ด๋ค ์ค ์ฌ์ ์์ผ๋ก ๊ฐ์ฅ ๋์ค์ธ ๊ฒ์ ๊ตฌํ์ฌ์ผ ํ๋ค. ์ฌ๊ธฐ์ ์ฌ์ ์์ ๋ํ ์ ์๋ ๋ฌธ์ ์์ ๋ด๋ฆฐ๋ค. ์ ๋ฆฌํ๋ฉด, ์ฌ๋ฌ ๋ถ๋ถ ์์ด๋ค ์ค์์ 1๏ธโฃ ๊ฐ์ฅ index๊ฐ ๋ฎ์ ์๊ฐ ํฐ ๊ฒ์ด ์ฌ์ ์์ผ๋ก ๋์ค์ด๋ค. ๋ง์ฝ ์ด ๊ฐ์ด ๊ฐ๋ค๋ฉด 2๏ธโฃ ๊ทธ ๋ค์ index ๊ฐ์ ์์๋๋ก ๋น๊ตํ์ฌ ํฐ ์๊ฐ ์ฌ์ ์์ผ๋ก ๋์ค์ด๋ค. ๋ง์ง๋ง์ผ๋ก 3๏ธโฃ ๋ถ๋ถ ์์ด์ ๊ธธ์ด๊ฐ ๋ ๊ธด ๊ฒ์ด ์ฌ์ ์์ผ๋ก ๋์ค์ด๋ค.
์์ฝํ๋ฉด ๋ถ๋ถ ์์ด ์ค์์ ํฐ ์๊ฐ ๋ง์ ๊ฒ์ด ์ฌ์ ์์ผ๋ก ๋์ค์ด๋ค! ๋ฌธ์ ๋ฅผ ํ ๋๋ ์ด ๊ด์ ์์ ์๊ฐํด๋ณด๋ฉด ํฐ ์๋ถํฐ ์ฐพ์์ผ ํ๋ค๋ ๊ฐ์ด ์จ๋ค.
์๊ฐ ๋ณต์ก๋๋ฅผ ๊ณ์ฐํด๋ณธ๋ค
๋ ์์ด์์ ๊ฐ์ฅ ํฐ ์๋ฅผ ์ฐพ๋ ์๊ฐ ๋ณต์ก๋๋ O(N*M)์ด๋ค. N, M <= 100 ๋ฒ์์ด๋ฏ๋ก ๊ฐ์ฅ ํฐ ์ ํ๋ ์ฐพ๋ ๊ฒ์๋ ์๊ฐ ๋ณต์ก๋์์ ๋ฌธ์ ๊ฐ ์๋ค. ์ ๋ฌธ์ ์์ฝ์ ๋ฐ๋ฅด๋ฉด '์ฌ๋ฌ ๋ฒ ๋ฐ๋ณตํด์' ํฐ ์๋ฅผ ์ฐพ์์ ๋ถ๋ถ์์ด์ ๋ง๋ค์ด์ผ ํ๋ค. ์์ ํ์์ผ๋ก ๋ชจ๋ ๊ฒฝ์ฐ๋ฅผ ์ฐพ๋ ๊ฒฝ์ฐ ์๊ฐ๋ณต์ก๋๋ O(N*M + (N-1)*M + (N-2)*M) + ... + 1*M)์ด๊ณ ๋๋ต O(N*N*M)์ผ๋ก ๋ํ๋ผ ์ ์๋ค. N, M์ด 100์ด๋ฏ๋ก ์ด ๊ฒฝ์ฐ ์ถฉ๋ถํ ์ฐ์ฐ ๊ฐ๋ฅํ๋ค.
๐ก '๊ฐ์ฅ ํฐ ๊ฒ ์ฐพ๊ณ , ๋ ๋ฒ์งธ๋ก ํฐ ๊ฒ ์ฐพ๊ณ , ์ธ ๋ฒ์งธ๋ก ํฐ ๊ฒ ์ฐพ๊ณ , .... ๋ฐ๋ณต'์ผ๋ก ๋ถ๋ถ ์์ด์ ๊ตฌํ๋ฉด ๋๋ค!
ํ ๋ฒ ์ํ์ ์์ด ๊ฐ๊ฐ์ 'ํ๊ณ index'๊ฐ ๊ฒฐ์ ๋๋ค
๊ฐ์ฅ ํฐ ๊ฒ์ ์ฐพ๊ณ ๋ ํ์๋ ํ๊ณ index๊ฐ ์๊ธด๋ค. ์ด์ ๋ํด์ ์๊ฐํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
seq_a = [1, 2, 9, 4, 8, 9, 5]
seq_b = [1, 2, 9, 8, 9, 6, 5]
- ๊ฐ์ฅ ํฐ ๊ฒ์ '9'๋ก ์์ด A์์๋ index 2, 5์ ์์นํ๊ณ ,
- ์์ด B์์๋ 2, 4์ ์์นํ๋ค.
๋ฌธ์ ์์๋ ์์ด A์ B์ ๋ถ๋ถ์์ด์ ๊ตฌํ๊ณ ์์ผ๋ฏ๋ก ํฐ ์๋ก ์ ํ๋ Index ์ด์ ์ ๊ฐ์ ๋ ผ์ธ๊ฐ ๋๋ค. ๊ทธ ์ด์ ์ ๊ฐ์ด ์ ํ๋๋ฉด ๋ถ๋ถ ์์ด์ด ์๋๊ฒ ๋๊ธฐ ๋๋ฌธ์ด๋ค. ์ด๋ก ์ธํด ํ๊ณ index๊ฐ ์๊ธด๋ค. ๋น๊ต์ ์์ ์์นํ '9'๋ฅผ ์ ํํ๋ฉด ํ๊ณ index๋ ์์ด A์ 2, ์์ด B์ 2๊ฐ ๋๊ณ ๋น๊ต์ ๋ค์ ์์นํ '9'๋ฅผ ์ ํํ๋ฉด ํ๊ณ index๋ ์์ด A์ 5, ์์ด B์ 4๊ฐ ๋๋ค. ์ด๋ค '9'๋ฅผ ๋ถ๋ถ ์์ด์ ์์๋ก ์ ํํด์ผํ ๊น?
๊ทธ๋ฆฌ๋!
์ฌ์ ์์ผ๋ก ๊ฐ์ฅ ๋์ค์์ ํ๋จํ๋ ๋ฐ ๋ถ๋ถ ์์ด์ ๊ธธ์ด๊ฐ ์ํฅ์ ๋ผ์น๋ค. ์ฆ, ๋ถ๋ถ ์์ด์ ๊ฐ์ฅ ๊ธธ๊ฒ ๋ง๋ค ์ ์๋๋ก ํ๋ณด ๊ตฐ์ด ๋ง๋๋ก '9'(= ๊ฐ์ฅ ํฐ ๊ฒ)๋ฅผ ์ ํํด์ผ ํ๋ ๊ฒ์ด๋ค! ์ด๋ฅผ ์ดํดํ๊ณ ๋๋ฉด ํด๋น ๋ฌธ์ ๋ ๋ค ํผ ๊ฒ์ด๋ ๋ค๋ฆ ์๋ค ๐.
๋น๊ต์ ๋ค์ ์์นํ '9'๋ฅผ ์ ํํ๋ฉด ๋ถ๋ถ ์์ด์ {9, 5}๊ฐ ๋๋ค. ์์ ์์นํ '9'๋ฅผ ์ ํํ๋ฉด {9, 8, 9, 5}๊ฐ ๋๋ค. '5'์ '8'์ ๋น๊ต์์ ํ์๊ฐ ๋ ๋์ค์ธ ๋ถ๋ถ์์ด์ด๋ค. ์ด์ฒ๋ผ ๊ฐ๊ธ์ ์์ ์์นํ '๊ฐ์ฅ ํฐ ์'๋ฅผ ์ ํํ์ฌ์ผ ๋ ๋ง์ ๋ถ๋ถ ์์ด ๊ฒฝ์ฐ์ ์๋ฅผ ๊ณ ๋ คํ ์ ์๋ค!
๊ฐ์ธ์ ์ผ๋ก ์ด๋ ค์ ๋ ๋ถ๋ถ
๊ทธ๋ฆฌ๋์์ ๋ฐ๊ฒฌํ๋ ๊ฒ์ด์๋ค..! ์ด๋ก ์ธํด ํ ๋ฒ ์ํ์ ํ ๊ฐ์ ํ๊ณ index๊ฐ ํ๋ ๊ฒฐ์ ๋๋ค๋ ์ฌ์ค์ ๋ค๋ฆ๊ฒ ๋ฐ๊ฒฌํ๋ค. ํ ๋ฒ ์ํ์ ํ ๊ฐ์ ํ๊ณ index๊ฐ ๊ฒฐ์ ๋๋ ๊ฒ์ ํ์ธํ ํ์ 'ํ๋ณด ๋ฒ์๋ฅผ ๋๊ฒ ํ๋ ๊ทธ๋ฆฌ๋'์์ ํ์ ํ๊ณ Accepted ๋ ์ ์์๋ค ๐ . ๊ทธ๋ฆฌ๋ ๋ฌธ์ ๋ ํ๊ณ ๋๋ฉด ์ฌ์ด๋ฐ, ์จ์ ๊ทธ๋ฆฌ๋ ์์๋ฅผ ๋ฐ๊ฒฌํ๋ ๊ฒ์ด ์ด๋ ต๋ค..