- ์น๋ฆฐ์ด
- go
- ํธ๋ฆฌ
- ๋ฐฑ์๋ ํ๋ฆฌ์จ๋ณด๋ฉ
- golang
- ํ๋ฆฌ์จ๋ณด๋ฉ
- BFS
- LCs
- ํ๋ก๊ทธ๋๋จธ์ค
- ๋นํธ๋ง์คํน
- ์ฌ๊ท
- ์ํฐ๋
- ์์ฝ๋
- Python
- ๊ฐ์ฅ๊ฐ๊น์ด๊ณตํต์กฐ์
- ์นด์นด์ค2021
- ์๊ณ ๋ฆฌ์ฆ
- ๋นํธ๋งต
- ์ฌ๋ผ์ด๋ฉ ์๋์ฐ
- js
- ์ด๋ถํ์
- ๋ค์ต์คํธ๋ผ
- DFS
- Union-Find
- ๋ฐฑ์ค
- ๋์ ํ๋ก๊ทธ๋๋ฐ
- nestjs
- C++
- DP
- ์นด์นด์ค ์ฝํ
- Today
- Total
๋ชฉ๋กAlgorithm (101)
Hello Ocean! ๐ผ
๋ฌธ์ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํด๊ฒฐ ์ ๋ต 8๋จ์ ๋ฌธ์ . ์์ฃผ์จ ์ธ์ฐ๊ธฐ https://www.algospot.com/judge/problem/read/PI algospot.com :: PI ์์ฃผ์จ ์ธ์ฐ๊ธฐ ๋ฌธ์ ์ ๋ณด ๋ฌธ์ (์ฃผ์: ์ด ๋ฌธ์ ๋ TopCoder ์ ๋ฒ์ญ ๋ฌธ์ ์ ๋๋ค.) ๊ฐ๋ TV ์ ๋ณด๋ฉด ์์ฃผ์จ์ ๋ช๋ง ์๋ฆฌ๊น์ง ์ค์ค ์ธ์ฐ๋ ์ ๋๋ค์ด ๋ฑ์ฅํ๊ณค ํฉ๋๋ค. ์ด๋ค์ด ์ด ์๋ฅผ ์ธ์ฐ๊ธฐ ์ํด ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ ์ค ํ๋๋ก, ์ซ์๋ฅผ ๋ช ์๋ฆฌ ์ด์ ๋์ด ์ธ์ฐ๋ ๊ฒ์ด ์์ต๋๋ค. ์ด๋ค์ ์ซ์๋ฅผ ์ธ ์๋ฆฌ์์ ๋ค์ฏ ์๋ฆฌ๊น์ง๋ก ๋์ด์ ์ธ์ฐ๋๋ฐ, ๊ฐ๋ฅํ๋ฉด 55555 ๋ 123 ๊ฐ์ด ์ธ์ฐ๊ธฐ ์ฌ์ด ์กฐ๊ฐ๋ค์ด ๋ง์ด ๋ฑ์ฅํ๋ ๋ฐฉ๋ฒ์ ํํ๊ณค ํฉ๋๋ค. ์ด ๋, ๊ฐ ์กฐ๊ฐ๋ค์ ๋์ด www.algospot.com ์ ๋ ฅ๋ ์์ด์, 3-5์๋ฆฌ์ฉ ๋์ด์ ๋์ด๋๋ฅผ ํ..
๋ฌธ์ ๋์๊ด ์์ ํ์ ์ฑ ์ ๋ฆฌ๋ฅผ ํ ๊ฒ์ด๋ค. ์ฌํ์ด์ ํ์ฌ ์์น๋ 0์ด๊ณ , ๊ฐ ์ฑ ๋ค์ ์์น๋ ์ ๋๊ฐ์ด 10000์ดํ์ธ ์ ์์ด๋ฉฐ, 0 ์์น์ ์๋ ์ฑ ์ ์๋ค. ํ ๋ฒ์ M๊ฐ์ ์ฑ ์ ์ด๋ฐํ ์ ์๋ค๊ณ ํ ๋, ์ฑ ์ ๋ชจ๋ ์ ๋ฆฌํ๋๋ฐ ํ์ํ ์ต์ ๊ฑธ์ํ์๋ฅผ ๊ตฌํด๋ผ . (๋ง์ง๋ง ์ฑ ์ ์ ๋ฆฌํ ํ์๋ ๋ค์ ์์ ์ผ๋ก ๋์์ฌ ํ์๊ฐ ์๋ค.) ์ ๋ ฅ N : ์ฑ ์ ๊ฐ์ (1
๋ฌธ์ LCS(Longest Common Subsequence, ์ต์ฅ ๊ณตํต ๋ถ๋ถ ์์ด) ๋ ์์ด์ด ์ฃผ์ด์ก์ ๋, ๋ชจ๋์ ๋ถ๋ถ ์์ด์ด ๋๋ ์์ด ์ค ๊ฐ์ฅ ๊ธด ๊ฒ์ ์ฐพ๋ ๋ฌธ์ . ์๋ฅผ ๋ค์ด, ACAYKP์ CAPCAK์ LCS๋ ACAK๊ฐ ๋๋ค. => ์ฐ์ํ์ง ์์๋ ๋๋ค๋ ๊ฒ์ด ํฌ์ธํธ. ํ์ด 2์ฐจ์ cache๋ฅผ ์ด์ฉํ DP ๋ฐฉ์์ผ๋ก ํ๋ฉด ๋๋ค. ๋ง๋ก ํ์ด ์ด ๊ฒ์ ์ดํดํ๊ธฐ ํ๋๋ฏ๋ก ๊ทธ๋ฆผ์ ๊ทธ๋ ค๋ณด์๋ค. s1 = ACAYKP s2 = CAPCAK ๋ฅผ ์ ๋ ฅํ์ ๋ cache์ ๋ชจ์ต์ด๋ค. cache[i][j]์๋ s1์ i ๋ฒ์งธ์ s2์ j ๋ฒ์งธ๊ฐ ๊ฐ์ ๋ ๊ฐ์ด ์ฑ์์ง๋ค. (๊ฐ์ง ์์ ๊ฒฝ์ฐ์๋ 0์ด ์ฑ์์ง๋ค) ๋์ด ๊ฐ์ ๋, ๊ทธ๋ฅ 1์ ์ฑ์ฐ๋ ๊ฒ์ด ์๋๋ผ ์ง๋ ๊ตฌ์ญ์์ ๊ฐ์ฅ ํฐ ๊ฐ+1์ ์ฑ์ด๋ค. ์ฒซ ๋ฒ์งธ ๊ทธ๋ฆผ์์ ๋นจ..
[๋ฌธ์ ] ์ฃผ์ด์ง ์์ด์ ๋ํด ์ต๋ ์ฆ๊ฐ ๋ถ๋ถ ์์ด ๊ตฌํ๊ธฐ. ์ต๋ ์ฆ๊ฐ ๋ถ๋ถ์์ด์ด๋? - ์์๋ค์ด ์์ฆ๊ฐํ๋ ๋ถ๋ถ์์ด ์ค์ ๊ฐ์ฅ ๊ธด ๊ฒ [ํ์ด] ๋์ ํ์ด n ํฌ๊ธฐ์ ์์ด์ ๋ํด n*n ํฌ๊ธฐ์ ์ด์ฐจ์ cache๋ฅผ ์ฌ์ฉํ์. ์ด ๋ฌธ์ ์ ์๊ณ ๋ฆฌ์ฆ์ ์์ ๊ฐ๋ค. ๊ทธ๋ฆฌ๊ณ ์ถ๊ฐ์ ์ผ๋ก maxCount๋ฅผ ์ cache๊ฐ์ ๊ณ์ฐํด์ ์ ์ฅํ ๋ ๋ง๋ค ๊ฐฑ์ ์์ผ์ผ ํ๋ค. ๊ทธ ์ด์ ๋, maxCount๊ฐ ์ฒซ ๋ฒ์งธ ์์๋ถํฐ ์์ํ ๊ฒฝ์ฐ์์ ๋์ค์ง ์์ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ex) 5,3,4์ ๊ฒฝ์ฐ ์ต๋์ฆ๊ฐ๋ถ๋ถ์์ด์ 3,4๊ฐ ๋๋ค. ๋ฐ๋ผ์ ๋ชจ๋ cache ๋ด๋ถ์ ๊ฐ์ค์์ ์ต๋๊ฐ์ ์ฐพ์์ผํ๋๋ฐ ์ด ๊ณผ์ ์ ๊ณ์ฐํ ๋ ํ๋ฒ์ ํ๊ธฐ ์ํด์ maxCount๋ฅผ ์ฌ์ฉํ๋ค. (๋ค์ ์ฝ๋๋ฅผ ๋ณด๋ฉด ์ดํด๊ฐ ๋ ์ ๋ ๊ฒ์ด๋ค.) ์๊ณ ๋ฆฌ์ฆ์ ๋ํด ์ข ๋ ๋ณต..
[๋ฌธ์ ] ์ผ๊ฐํ ๋ชจ์์ผ๋ก ๋ฐฐ์น๋ ์๋ค์ด ์๋ค. ์ด ์๋ค์ ๋ํด์ ์์์๋ถํฐ ์๋๋ก ๋ด๋ ค์ค๋ ๊ฒฝ๋ก๋ฅผ ๋ง๋๋ ค๊ณ ํ๋ค. ์๋ ์ค๋ก ๋ด๋ ค๊ฐ ๋ ๋ง๋ค, ๋ฐ๋ก ์๋ซ์นธ์ด๋ ํ์นธ ์ค๋ฅธ์ชฝ ์๋์นธ์ผ๋ก ๋ด๋ ค๊ฐ ์ ์๋ค. ์ง๋์จ ๊ฒฝ๋ก์์ ๋ชจ๋ ์์ ํฉ์ ์ต๋๊ฐ์ ๊ตฌํด๋ผ. [Input] C (testcase ์) ๊ฐ testcase๋ง๋ค n (์ธต์ ๊ฐ์) n์ค์ ๊ฑธ์ณ ์ผ๊ฐํ ๊ฐ ๊ฐ๋ก์ค์ ์๋ ์ซ์ ์ ๋ ฅ [Output] ๊ฐ testcase๋ง๋ค ์ต๋ ๊ฒฝ๋ก ์ซ์์ ํฉ [ํ์ด] ์๊ณ ๋ฆฌ์ฆ์ ์์ ๊ฐ๋ค. dynamic programming์ ์ฌ์ฉํ๋ฉด, ๋ชจ๋ ๊ฒฝ๋ก๋ฅผ ํ๋์ฉ ์ดํด๋ณด์ง ์๊ณ , ๋ฐ๋ก ์์ ์นธ๊ณผ์ ๊ฒฝ์ฐ์์๋ง ๊ณ์ฐํด์ฃผ๋ฉด ๋๊ธฐ ๋๋ฌธ์ ๋ณต์ก๋๋ฅผ ํฌ๊ฒ ์ค์ผ ์ ์๋ค. ์ด ์๊ณ ๋ฆฌ์ฆ์ ๋ณต์ก๋๋ O(n^2)์ด๋ค. ์ข ๋ ํฐ input์ ์์๋ฅผ ..
[๋ฌธ์ ] ๊ธฐํธ 1๋ฒ์ผ๋ก ์ถ๋งํ ๋ค์์ด๋ ์ ๊ฑฐ ์ ์ ํ๋ณด๋ณ ๋ํ์๋ฅผ ๋ฏธ๋ฆฌ ์ ์ ์๋ค. ๋ค์์ด๋ ๋ํ์๋ฅผ ๋ฏธ๋ฆฌ ์์๋ธ ํ, ๋ค๋ฅธ ํ๋ณด๋ฅผ ์ฐ๋ ์ฌ๋๋ค์ ๋์ผ๋ก ๋งค์ํด์ ์์ ์ด ๋น์ ๋๊ฒ ํ๋ ค๊ณ ํ๋ค. ๋ค์์ด๊ฐ ๋งค์ํด์ผ ํ ์ฌ๋์ ์ต์๊ฐ์ ๊ตฌํด๋ผ. [Input] N(ํ๋ณด์ ์) ๋์งธ ์ค ๋ถํฐ ๊ฐ ํ๋ณด์ ๋ํ์๊ฐ N์ค์ ๊ฑธ์ณ์ ์ ๋ ฅ๋๋ค. [Output] ๋งค์ํด์ผ ํ ์ฌ๋์ ์ต์๊ฐ [ํ์ด] ์์ ํ์ ์ฐ์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก ์ ๊ทผํด๋ณด์. ์ ์ฒด ํ๋ณด์ ๋ํ์๊ฐ votesNum[] ์์ ์์ฐจ์ ์ผ๋ก ์ ์ฅ๋์ด ์๋ค๊ณ ํ์. ํ๋ณด๊ฐ 3๋ช ์ด๊ณ ๊ฐ ํ๋ณด์ ์์ ๋ํ์๊ฐ 5,7,7์ด์๋ค๊ณ ํ์. voteNum[]์์ max ์์น๋ฅผ ๊ตฌํ๊ณ , ๋ค์์ด(๊ธฐํธ 1๋ฒ)๊ฐ ์ต๋๊ฐ์ด ์๋ ๊ฒฝ์ฐ ํด๋น max ์์น์์ 1์ ๋นผ๊ณ , ๊ทธ ํ๋ฅผ ๋ค์..