๋ฐฑ์ค - 6549ํ์คํ ๊ทธ๋จ์ ์ง์ฌ๊ฐํ ์ฌ๋ฌ ๊ฐ๊ฐ ์๋์ชฝ์ผ๋ก ์ ๋ ฌ๋์ด ์๋ ๋ํ์ด๋ค. ๊ฐ ์ง์ฌ๊ฐํ์ ๊ฐ์ ๋๋น๋ฅผ ๊ฐ์ง๊ณ ์์ง๋ง, ๋์ด๋ ์๋ก ๋ค๋ฅผ ์๋ ์๋ค. ์๋ฅผ ๋ค์ด, ์ผ์ชฝ ๊ทธ๋ฆผ์ ๋์ด๊ฐ 2, 1, 4, 5, 1, 3, 3์ด๊ณ ๋๋น๊ฐ 1์ธ ์ง์ฌ๊ฐํ์ผ๋ก ์ด๋ฃจ์ด์ง ํ์คํ
์๊ฐ ์ ํ ๋ฉ๋ชจ๋ฆฌ ์ ํ ์ ์ถ ์ ๋ต ๋งํ ์ฌ๋ ์ ๋ต ๋น์จ1 ์ด 512 MB 31314 8646 5897 30.188%๋ฌธ์ N๊ฐ์ ์๋ก ์ด๋ฃจ์ด์ง ์์ด A1, A2, โฆ, AN์ด ์๋ค. ์ด ์์ด์ ๋ํด์ ๋ฒ๋ธ ์ํธ๋ฅผ ์ํํ ๋, Swap์ด ์ด ๋ช ๋ฒ ๋ฐ์ํ๋์ง ์์๋ด๋ ํ๋ก๊ทธ
์์ ๋ฅผ ๋ณด๊ณ ๊ท์น์ ์ ์ถํ ๋ค์ ๋ณ์ ์ฐ์ด ๋ณด์ธ์.์ฒซ์งธ ์คNN์ ํญ์ 3ร2k0 โค k โค 10, k๋ ์ ์์ด์ ๋ณ ์ฐ๊ธฐ๋ ๋ณ์ ๋ค ์ฑ์ฐ๊ธฐ > ๊ตฌ๋ฉ๋ซ๊ธฐ๋ก ์งํํ๋ค.์ด๋ฒ ๋ณ ์ฐ๊ธฐ๋ N X N ํํ๊ฐ ์๋๋ผ์ ๋ถํ ํ ๋ฒ์๋ฅผ ์ ์ถํด์ผํ๋ค.๋ฐ๋ณต๋๋ ๋ชจ์์ ์ต์ ๋จ์๋ 5 X
ํ๋ฐฑ ์์์ ์์ถํ์ฌ ํํํ๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ก ์ฟผ๋ ํธ๋ฆฌ(Quad Tree)๋ผ๋ ๋ฐฉ๋ฒ์ด ์๋ค. ํฐ ์ ์ ๋ํ๋ด๋ 0๊ณผ ๊ฒ์ ์ ์ ๋ํ๋ด๋ 1๋ก๋ง ์ด๋ฃจ์ด์ง ์์(2์ฐจ์ ๋ฐฐ์ด)์์ ๊ฐ์ ์ซ์์ ์ ๋ค์ด ํ ๊ณณ์ ๋ง์ด ๋ชฐ๋ ค์์ผ๋ฉด, ์ฟผ๋ ํธ๋ฆฌ์์๋ ์ด๋ฅผ ์์ถํ์ฌ ๊ฐ๋จํ ํํํ ์
ํ๊ฒฝ์ค์ (command + ,)๋ค์ด๊ฐ์ 'Implicit Project Config' ๊ฒ์โ JS/TS โบ Implicit Project Config: Check JSโ JS/TS โบ Implicit Project Config: Experimental Decorator
node๋ฅผ ์ต์ ๋ฒ์ ์ผ๋ก ๋ค์ ๊น๊ณ typescript์ npm ์ผ๋ก ์ค์นํ๋ค๊ฐ yarn ์ผ๋ก ์ค์นํ๋ค๊ฐvscode๋ฅผ ๊ป๋ค ์ผ๋ณด๊ณ tsconfig.js๋ฅผ ๋ค์ ๋ง๋ค์ด๋ดค๋ค๊ฐnpm -g ์ต์ ์ผ๋ก ๋ค์ ์ค์นํด๋ณด๊ณ npm --save-dev ์ต์ ์ผ๋ก ์ฌ์ค์นํด๋ณด๊ณ ๋ญ์ง์ ํด๋ด๋ tsc
NรNํฌ๊ธฐ์ ํ๋ ฌ๋ก ํํ๋๋ ์ข ์ด๊ฐ ์๋ค. ์ข ์ด์ ๊ฐ ์นธ์๋ -1, 0, 1 ์ค ํ๋๊ฐ ์ ์ฅ๋์ด ์๋ค. ์ฐ๋ฆฌ๋ ์ด ํ๋ ฌ์ ๋ค์๊ณผ ๊ฐ์ ๊ท์น์ ๋ฐ๋ผ ์ ์ ํ ํฌ๊ธฐ๋ก ์๋ฅด๋ ค๊ณ ํ๋ค.๋ง์ฝ ์ข ์ด๊ฐ ๋ชจ๋ ๊ฐ์ ์๋ก ๋์ด ์๋ค๋ฉด ์ด ์ข ์ด๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉํ๋ค.(1)์ด ์๋ ๊ฒฝ์ฐ์๋ ์ข
์ ๋ ฌ๋์ด์๋ ๋ ๋ฐฐ์ด A์ B๊ฐ ์ฃผ์ด์ง๋ค. ๋ ๋ฐฐ์ด์ ํฉ์น ๋ค์ ์ ๋ ฌํด์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.์ฒซ์งธ ์ค๋ฐฐ์ด A์ ํฌ๊ธฐ N๋ฐฐ์ด B์ ํฌ๊ธฐ M๋์งธ ์ค๋ฐฐ์ด A์ ๋ด์ฉ์ ์งธ ์ค๋ฐฐ์ด B์ ๋ด์ฉ1 โค N, M โค 1,000,000๋ฐฐ์ด์ ๋ค์ด์๋ ์๋ ์ ๋๊ฐ์ด 109๋ณด๋ค ์
NรMํฌ๊ธฐ์ ๋ฐฐ์ด๋ก ํํ๋๋ ๋ฏธ๋ก๊ฐ ์๋ค.๋ฏธ๋ก์์ 1์ ์ด๋ํ ์ ์๋ ์นธ์ ๋ํ๋ด๊ณ , 0์ ์ด๋ํ ์ ์๋ ์นธ์ ๋ํ๋ธ๋ค. ์ด๋ฌํ ๋ฏธ๋ก๊ฐ ์ฃผ์ด์ก์ ๋, (1, 1)์์ ์ถ๋ฐํ์ฌ (N, M)์ ์์น๋ก ์ด๋ํ ๋ ์ง๋์ผ ํ๋ ์ต์์ ์นธ ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
DFS/BFS๋คํธ์ํฌ๋ ์ปดํจํฐ ์ํธ ๊ฐ์ ์ ๋ณด๋ฅผ ๊ตํํ ์ ์๋๋ก ์ฐ๊ฒฐ๋ ํํ๋ฅผ ์๋ฏธํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ปดํจํฐ A์ ์ปดํจํฐ B๊ฐ ์ง์ ์ ์ผ๋ก ์ฐ๊ฒฐ๋์ด์๊ณ , ์ปดํจํฐ B์ ์ปดํจํฐ C๊ฐ ์ง์ ์ ์ผ๋ก ์ฐ๊ฒฐ๋์ด ์์ ๋ ์ปดํจํฐ A์ ์ปดํจํฐ C๋ ๊ฐ์ ์ ์ผ๋ก ์ฐ๊ฒฐ๋์ด ์ ๋ณด๋ฅผ ๊ตํํ
์ ์ฌ๊ฐํ์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๋ ์ฌ๊ณผ ๋ฐ๋ค ์ง๋๊ฐ ์ฃผ์ด์ง๋ค. ์ฌ์ ๊ฐ์๋ฅผ ์ธ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.ํ ์ ์ฌ๊ฐํ๊ณผ ๊ฐ๋ก, ์ธ๋ก ๋๋ ๋๊ฐ์ ์ผ๋ก ์ฐ๊ฒฐ๋์ด ์๋ ์ฌ๊ฐํ์ ๊ฑธ์ด๊ฐ ์ ์๋ ์ฌ๊ฐํ์ด๋ค. ๋ ์ ์ฌ๊ฐํ์ด ๊ฐ์ ์ฌ์ ์์ผ๋ ค๋ฉด, ํ ์ ์ฌ๊ฐํ์์ ๋ค๋ฅธ ์ ์ฌ๊ฐํ์ผ๋ก ๊ฑธ์ด์ ๊ฐ
<๊ทธ๋ฆผ 1>๊ณผ ๊ฐ์ด ์ ์ฌ๊ฐํ ๋ชจ์์ ์ง๋๊ฐ ์๋ค. 1์ ์ง์ด ์๋ ๊ณณ์, 0์ ์ง์ด ์๋ ๊ณณ์ ๋ํ๋ธ๋ค. ์ฒ ์๋ ์ด ์ง๋๋ฅผ ๊ฐ์ง๊ณ ์ฐ๊ฒฐ๋ ์ง์ ๋ชจ์์ธ ๋จ์ง๋ฅผ ์ ์ํ๊ณ , ๋จ์ง์ ๋ฒํธ๋ฅผ ๋ถ์ด๋ ค ํ๋ค. ์ฌ๊ธฐ์ ์ฐ๊ฒฐ๋์๋ค๋ ๊ฒ์ ์ด๋ค ์ง์ด ์ข์ฐ, ํน์ ์๋์๋ก ๋ค๋ฅธ ์ง์ด
์ฒซ์งธ ์คํ ์คํธ์ผ์ด์ค ๊ฐ์ TM๊ฐ์ ์ค์์ด์ ํฌ๊ธฐ N์์ด2 โค n โค 100,000์ซ์์ ์๋ฆฟ์๋ฅผ ์์ ์์๋๋ก ์ฌ๋ฐฐ์นํ๋ ์ฝ๋๋ธ๋กํ์ํ ํ๋ผ๋ฏธํฐํ์ฌ ์ ์ node๋ฌด์กฐ๊ฑด ํ์ฌ ๋ ธ๋๋ฅผ ๋ฐฉ๋ฌธ์ฒ๋ฆฌํ๊ณ ๋ค์ ๋ ธ๋๋ฅผ ๋ฐฉ๋ฌธํ์ง ์์์ผ๋ฉด,dfs ํ์์ ์งํ๋ค์ ๋ ธ๋๋ฅผ ์ด๋ฏธ ๋ฐฉ๋ฌธํ ๊ฒฝ์ฐ
๋ค์๊ณผ ๊ฐ์ด ์ ์๋ ์์ด์ด ์๋ค.D1 = ADn = Dn-1์ ๊ฐ ์๋ฆฌ์ ์ซ์๋ฅผ P๋ฒ ๊ณฑํ ์๋ค์ ํฉ์๋ฅผ ๋ค์ด A=57, P=2์ผ ๋, ์์ด D๋ 57, 74(=52+72=25+49), 65, 61, 37, 58, 89, 145, 42, 20, 4, 16, 37, โฆ์ด
์ฒซ์งธ ์คํ ์คํธ์ผ์ด์ค ๊ฐ์ TM๊ฐ์ ์ค์์ด์ ํฌ๊ธฐ N์์ด2 โค N โค 1,000ํ ์คํธ ์ผ์ด์ค T \- data ๊ฐ์ฒด ๋ถํด ํ ๋น ํ ๋, ์ฒซ๋ฒ์งธ ์์๋ก ๊ฐ์ ธ๊ฐ๊ธฐ๊ฐ ์ผ์ด์ค \- while ๋ฌธ ์์ํ ๋, ์ด 2๋ฒ์ shift๋ฅผ ํจ \- ์ฒซ๋ฒ์งธ: ์์ด์ ํฌ๊ธฐ N \
๊ทธ๋ํ์ ์ ์ ์ ์งํฉ์ ๋๋ก ๋ถํ ํ์ฌ, ๊ฐ ์งํฉ์ ์ํ ์ ์ ๋ผ๋ฆฌ๋ ์๋ก ์ธ์ ํ์ง ์๋๋ก ๋ถํ ํ ์ ์์ ๋, ๊ทธ๋ฌํ ๊ทธ๋ํ๋ฅผ ํน๋ณํ ์ด๋ถ ๊ทธ๋ํ (Bipartite Graph) ๋ผ ๋ถ๋ฅธ๋ค.๊ทธ๋ํ๊ฐ ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ก์ ๋, ์ด ๊ทธ๋ํ๊ฐ ์ด๋ถ ๊ทธ๋ํ์ธ์ง ์๋์ง ํ๋ณํ๋ ํ๋ก
๋ณ๊ฑฐ ์๋๊ธดํ๋ฐ,๋ธ๋ก๊ทธ๋ ์คํ์ค๋ฒํ๋ก์ฐ์์ ๋ชป์ฐพ์ ๋ด์ฉ์ด๋ผ ์ ๋ฆฌํด๋ณธ๋ค.์ฐธ๊ณ ๋ก ์ฑgptํํ ๋ฌผ์ด๋ดค๋ค.ReferenceSearch > list์ค์ part: snippetp: shorts + ํค์๋Search > list๋ก ์ด๋์ฐ์ธก APIs Explorer ์ ์ฒด๋ณด๊ธฐpart
๋ฐฉํฅ ์๋ ๊ทธ๋ํ๊ฐ ์ฃผ์ด์ก์ ๋, ์ฐ๊ฒฐ ์์ (Connected Component)์ ๊ฐ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค์ฒซ์งธ ์ค์ ์ ์ ๊ฐ์ N๊ฐ์ ์ ๊ฐ์ MM๊ฐ์ ์ค๊ฐ์ ์ด ์ฐ๊ฒฐํ๋ ๋ ์ ์ ์ ๋ฒํธ (u์ v)1 โค N โค 1,0000 โค M โค Nร(N-1)/21 โค
๋ฌธ์ > ๊ทธ๋ํ๋ฅผ DFS๋ก ํ์ํ ๊ฒฐ๊ณผ์ BFS๋ก ํ์ํ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ๋จ, ๋ฐฉ๋ฌธํ ์ ์๋ ์ ์ ์ด ์ฌ๋ฌ ๊ฐ์ธ ๊ฒฝ์ฐ์๋ ์ ์ ๋ฒํธ๊ฐ ์์ ๊ฒ์ ๋จผ์ ๋ฐฉ๋ฌธํ๊ณ , ๋ ์ด์ ๋ฐฉ๋ฌธํ ์ ์๋ ์ ์ด ์๋ ๊ฒฝ์ฐ ์ข ๋ฃํ๋ค. ์ ์ ๋ฒํธ๋ 1๋ฒ๋ถํฐ N๋ฒ๊น์ง์ด๋ค
๋ฐ์ดํฐ fetchingํ๊ณ ๋ฐ์ดํฐ๋ฅผ ์์ ํ์ํ๋ฉฐ ์์์์๋ฅผ ์์ฑ + ๋ฐ์ดํฐ ๋์น ํ๊ณ ๋ถ๋ชจ ์์๋ฅผ ํธ์ถํด์ innerHTML๋ก ์์ ์์๋ฅผ DOM์ ์ถ๊ฐ์ฝ๋๋ฅผ ์ฌ์ฌ์ฉํ๊ธฐ ์ด๋ ต๋ค๊ธฐ๋ฅ๋ณ๋ก ๊ตฌ๋ถํ๊ธฐ ์ด๋ ต๋คํ๋ ์์ํฌ/๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉํ๊ธฐ๋ก ํ๋ค.React Component๋ฅผ ์ฌ์ฉ