๐ฅ CS/Algorithm (16) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ [Algorithm/Swift] ํ๋ก๊ทธ๋๋จธ์ค(Lv.2) - ํ๋ฐฐ ๋ฐฐ๋ฌ๊ณผ ์๊ฑฐํ๊ธฐ ์๋ ํ์ธ์ ์ ์ธ์ ๋๋ค :) ์์ฆ PS๋ฅผ ์ฐ์ตํ๋ฉฐ ์์ด๋์ด๋ฅผ ์ฝ๋๋ก ๊ตฌํํ๋ ๋ฅ๋ ฅ์ด ๋ถ์กฑํ๋ค๋ ๊ฒ์ ๊นจ๋ซ๊ณ ์๋๋ฐ์,,, ์ฐจ๊ทผ์ฐจ๊ทผ ๊ธฐ๋ก๋ ํด๊ฐ๋ฉฐ ์ค๋ ฅ์ ๋์ฌ๊ฐ์ผ๊ฒ ์ต๋๋ค..!! Greedy ์ ํ์ธ 2023 KAKAO BLIND RECRUITMENT - ํ๋ฐฐ ๋ฐฐ๋ฌ๊ณผ ์๊ฑฐํ๊ธฐ ๋ฌธ์ ํ์ด๋ฅผ ์ ๋ฆฌํด๋ณด๊ฒ ์ต๋๋ค๐ ๋ฌธ์ ๋งํฌ ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์. programmers.co.kr ๋ฌธ์ ํ์ด ์ฒ์ ์ ๊ทผ ์ผ๋จ ๋ฌธ์ ๋ฅผ ์ฝ๊ณ ๊ทธ๋ฆฌ๋๋ก ํ์ด์ผ๊ฒ ๋ค๋ ์์ด๋์ด๋ ๋ ์ฌ๋๋๋ฐ, ์คํ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ด์ฉํด์ผ๊ฒ ๋ค๋ ์๊ฐ์ ํ์ง ๋ชปํด ๋ฐฉ๋ฌธ ์ฒ๋ฆฌ ๋ฐ ์กฐ๊ฑด์ ํ๋จํด์ฃผ๊ธฐ๊ฐ ๊น๋ค๋กญ๋ค๊ณ ๋๊ผ์ต๋๋ค๐ฅฒ (ํ๋ฐฐ ์๊ฑฐ .. [Algorithm/Swift] BOJ(๊ณจ๋4) - 2573 ๋น์ฐ ์๋ ํ์ธ์ ์ ์ธ์ ๋๋ค :) PS ๊ธ์ ์ค๋๋ง์ธ ๊ฒ ๊ฐ์๋ฐ.. ์ค๋์ ๋ฐฑ์ค ๋ฌธ์ ์ค ํ๋๋ฅผ ์ ๋ฆฌํด๋ณด๋ ค๊ณ ํฉ๋๋ค! BFS ๋ฌธ์ ์ธ๋ฐ ํ๋ฒ ๋ ์๊ฐํด์ผ ๋ ๋ถ๋ถ์ด ์๋ ๋ฌธ์ ์ฌ์ ์ ๋ฆฌํด๋๋ฉด ์ข์ ๊ฒ ๊ฐ์์ ์ฒ์์ผ๋ก ๋ฐฑ์ค ๋ฌธ์ ๋ฅผ ๊ฐ์ ธ์๋ดค์ต๋๋ค. ๋ฐ๋ก ์์ํ๊ฒ ์ต๋๋ค ! ๋ฌธ์ ๋งํฌ 2573๋ฒ: ๋น์ฐ ์ฒซ ์ค์๋ ์ด์ฐจ์ ๋ฐฐ์ด์ ํ์ ๊ฐ์์ ์ด์ ๊ฐ์๋ฅผ ๋ํ๋ด๋ ๋ ์ ์ N๊ณผ M์ด ํ ๊ฐ์ ๋น์นธ์ ์ฌ์ด์ ๋๊ณ ์ฃผ์ด์ง๋ค. N๊ณผ M์ 3 ์ด์ 300 ์ดํ์ด๋ค. ๊ทธ ๋ค์ N๊ฐ์ ์ค์๋ ๊ฐ ์ค๋ง๋ค ๋ฐฐ์ด์ ๊ฐ ํ์ www.acmicpc.net ๋ฌธ์ ํ์ด ๊ฐ๋จํ๊ฒ ๋ฌธ์ ์๊ตฌ ์ฌํญ์ ์ ๋ฆฌํด๋ณด์๋ฉด, 2์ฐจ์ ๋ฐฐ์ด์ ๋น์ฐ์ ๊ฐ ๋ถ๋ถ๋ณ ๋์ด ์ ๋ณด๊ฐ ์ฃผ์ด์ง๋๋ฐ, ์ธ์ ํ ์นธ์ด 0์ผ ๊ฒฝ์ฐ(๊ทธ๋ฆผ์์ ๋น์นธ), ๋น์ฐ์ด ์ผ๋ ๋ง๋ค ๊ทธ ์นธ์ ์ธ์ ํ ๋น์นธ์ ๊ฐ.. [Algorithm/Swift] ํ๋ก๊ทธ๋๋จธ์ค(Lv.3) - ํ ํธ์ง ์๋ ํ์ธ์ ์ ์ธ์ ๋๋ค :) ์ฐ๊ฒฐ๋ฆฌ์คํธ๋ฅผ ํ์ฉํ๋ ๋ฌธ์ ๋ฅผ ํ์ด๋ณด๊ฒ ๋์ด ํด๋น ๋ด์ฉ์ ๋ํด ์ ๋ฆฌํด๋ณด๋ ค๊ณ ํ๋๋ฐ์, ๋ฌธ์ ๋ฅผ ํ์ดํ๋ฉฐ ์ฐ๊ฒฐ๋ฆฌ์คํธ(LinkedList)๋ฅผ Swift๋ก ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ๊ฐ๋จํ๊ฒ ์ ๋ฆฌํด๋ณด๊ฒ ์ต๋๋ค! ๋ฌธ์ ๋งํฌ ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์. programmers.co.kr ๋ฌธ์ ํ์ด ์ฒ์ ์ ๊ทผ ์ ๋ ์ฒ์๋ถํฐ ์ฐ๊ฒฐ๋ฆฌ์คํธ๋ฅผ ์จ์ผ๊ฒ ๋ค๋ ์์ด๋์ด๋ฅผ ๋ ์ฌ๋ฆฌ์ง ๋ชปํด ํ ๋ฒ์ ๋ง์ถ์ง ๋ชปํ์ต๋๋ค,, ์ ํ๋ ํ์ ๊ฐ๋ฆฌํค๋ ํฌ์ธํฐ๋ฅผ ๋๊ณ ๋ช ๋ น์ด ์ผ์ด์ค์ ๋ฐ๋ผ ์๋ง์ ์ฒ๋ฆฌ๋ฅผ ํ ์ ์๋๋ก(ํฌ์ธํฐ ์ด๋, ์ญ์ ๋ ํ ์ธ๋ฑ์ค ๊ธฐ๋ก ๋ฑ) ํฌ์ธํฐ๋ฅผ ์ด์ฉํด ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ผ๋ก ํ.. [Algorithm/Swift] ํ๋ก๊ทธ๋๋จธ์ค(Lv.3) - ํ๊ดด๋์ง ์์ ๊ฑด๋ฌผ ์๋ ํ์ธ์ ์ ์ธ์ ๋๋ค :) ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ๋ฅผ ํ๋ค๊ฐ ๋์ ํฉ์ ์ด์ฉํด ๊ตฌ๊ฐ์ ๋ณํ๋ฅผ ํจ์จ์ ์ผ๋ก ๊ณ์ฐํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์๋ก ์๊ฒ ๋์ด ๋ฌธ์ ํ์ด์ ํจ๊ป ์ ๋ฆฌํด๋ณด๋ ค๊ณ ํฉ๋๋ค. ๋ฌธ์ ํ์ด๋ฅผ ํตํด ๋์ ํฉ์ ๋ํด ์ ๋ฆฌํด๋ณด๊ฒ ์ต๋๋ค. ๋ฌธ์ ๋งํฌ ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์. programmers.co.kr ๋ฌธ์ ํ์ด ์ฒ์ ์ ๊ทผ ํด๋น ๋ฌธ์ ๋ ์ ๊ตฐ์ด ํน์ ๊ฑด๋ฌผ๋ค์ ๊ณต๊ฒฉํ๊ณ ์๊ตฐ์ด ํ๋ณตํ๋ ๊ณผ์ ์ ๊ฑฐ์ณ ์ต์ข ์ ์ผ๋ก ํ๊ดด๋์ง ์์ ๊ฑด๋ฌผ์ ๊ฐ์๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ์ ๋๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ 2์ฐจ์ ๋ฐฐ์ด ์์์ ๊ฐ์ ๋ณํ๋ฅผ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ๋ ๊ฒ์ด ๊ด๊ฑด์ ๋๋ค! (ํจ์จ์ฑ ํ ์คํธ ์กด์ฌ) ์ ๋ ํจ์จ์ ์ธ ์ฒ๋ฆฌ ๋ฐฉ๋ฒ์.. [Algorithm/Swift] ํ๋ก๊ทธ๋๋จธ์ค(Lv.3) - ์คํฐ์ปค ๋ชจ์ผ๊ธฐ(2) ์๋ ํ์ธ์ ์ ์ธ์ ๋๋ค! ์ค๋์ ๋ฌธ์ ํ์ด๋ฅผ ํตํด dp ์ ํ ํ์ด ๊ณผ์ ์ ์ ๋ฆฌํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ํด๋น ๋ฌธ์ ๋ฅผ ํ๋ฉด์ ๋ํ์ ์ธ dp ์ ํ์ด๋ผ๊ณ ์๊ฐ์ด ๋ค์ด ์ ๋ฆฌํด๋๋ฉด ์ข์ ๊ฒ ๊ฐ์์ ๊ฐ์ ธ์์ต๋๋ค! ๋ฌธ์ ๋งํฌ ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์. programmers.co.kr ๋ฌธ์ ํ์ด ์ฒ์ ์ ๊ทผ ์ ๋ ์ฒ์์ ํฌํฌ์ธํฐ๋ก ์ ๊ทผ์ ํ์๋๋ฐ์,, ๋ค๋ฅธ ํ์ด๋ฅผ ์ฐธ๊ณ ํด์ dp๋ก ํด๊ฒฐํ ํ ์๊ฐํด๋ณด๋๊น dp๋ก ํ ์ ๋ฐ์ ์๋ ๋ฌธ์ ๋ผ๋ ์๊ฐ์ด ๋๋ ๊ฒ ๊ฐ์ต๋๋ค..! ์ฒ์์ ํฌํฌ์ธํฐ๋ก ์ ๊ทผํ ์ด์ ๋ start, end ํฌ์ธํฐ ๋ชจ๋ 0์ ๋๊ณ ์์ํด์ ์ฒ์์ผ๋ก ๋ผ๋ ์คํฐ์ปค์ ์ธ๋ฑ์ค์ start.. [Algorithm/Swift] ํ๋ก๊ทธ๋๋จธ์ค(Lv.3) - ์ ๊ตญ์ฌ์ฌ ์๋ ํ์ธ์ ์ ์ธ์ ๋๋ค! ์์ฆ์ ํ๋ก๊ทธ๋๋จธ์ค์ ๋ฌธ์ ๋ค์ ๊พธ์คํ ํ๋ฉด์ ์ทจ์ฝํ ์ ํ์ ๋ฌธ์ ๋ค์ ํ๋ก๊ทธ๋๋จธ์ค, ๋ฐฑ์ค์์ ๋ ์ฐพ์์ ์ฐ์ตํด๋ณด๋ ๋ฐฉ์์ผ๋ก PS ์ค๋ ฅ์ ๊พธ์คํ ํฅ์์ํค๋ ค๊ณ ๋ ธ๋ ฅํ๊ณ ์๋๋ฐ์, ์ค๋์ ์ ๋ฒ์ ๋ฌธ์ ๋ฅผ ํตํด ์ด๋ถํ์ ๋ฌธ์ ๋ฅผ ์ฒ์ ์ ํ๊ณ , ๋ ์ฐ์ตํด๋ณด๊ณ ์ถ์ด์ ํ๋ก๊ทธ๋๋จธ์ค์์ ์ด๋ถํ์ ์ฐ์ต๋ฌธ์ ๋ฅผ ์ฐพ์์ ํ์ด๋ดค์ต๋๋ค! ํ๋ค๋ณด๋ ์ง๊ฒ๋ค๋ฆฌ ๊ฑด๋๊ธฐ ๋ฌธ์ ์ ๋น์ทํ ์ ์ด ๋ง์ ๊ฒ ๊ฐ์์ ์ด๋ถํ์ ๋ฌธ์ ๋ฅผ ์ ํ์ ๋ ์ ๊ทผํ๋ ๋ฐฉ๋ฒ์ ๋ํด ๊ธฐ๋กํด๋๋ฉด ์ข์ ๊ฒ ๊ฐ์์ ๊ฐ์ ธ์๋ดค์ต๋๋ค :) ๋ฌธ์ ๋งํฌ ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์. programmers.co.kr ๋ฌธ์ ํ์ด ์ผ๋จ.. [Algorithm/Swift] ํ๋ก๊ทธ๋๋จธ์ค(Lv.2) - ๊ฐ์ฅ ํฐ ์ ์ฌ๊ฐํ ์ฐพ๊ธฐ ์๋ ํ์ธ์ ์ ์ธ์ ๋๋ค! PS..๋ฅผ ๋ค๊ณ ์์ต๋๋ค....ํผ์ ํด๊ฒฐ๋ชปํ ๋ฌธ์ ๊ฐ ๋ ์๊ธด ๊ฒ์ด์ฃ ..์.. PS ์ค๋ ฅ์ด ์ ์ด๋ ๊ฒ ์๋๊น์....์ข ๋ ๋ง์ ๋ฌธ์ ๋ฅผ ํ์ด๋ด์ผ๊ฒ ์ด์.. ๋ฌธ์ ๋งํฌ ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์. programmers.co.kr ๋ฌธ์ ํ์ด ์ผ๋จ ์ด ๋ฌธ์ ๋ DP(Dynamic Programming) ์๊ณ ๋ฆฌ์ฆ์ ์ด์ฉํด ํ์ด์ผํ๋ ๋ฌธ์ ์์ต๋๋ค. 1915๋ฒ: ๊ฐ์ฅ ํฐ ์ ์ฌ๊ฐํ ์ฒซ์งธ ์ค์ n, m(1 ≤ n, m ≤ 1,000)์ด ์ฃผ์ด์ง๋ค. ๋ค์ n๊ฐ์ ์ค์๋ m๊ฐ์ ์ซ์๋ก ๋ฐฐ์ด์ด ์ฃผ์ด์ง๋ค. www.acmicpc.net ํ๋ก๊ทธ๋๋จธ์ค์ ์ฐ์ต๋ฌธ์ ๋ผ ๋ฐฑ์ค์๋ ๋์ผํ.. [Algorithm/Swift] ํ๋ก๊ทธ๋๋จธ์ค(Lv.3) - ์ง๊ฒ๋ค๋ฆฌ ๊ฑด๋๊ธฐ ์๋ ํ์ธ์ ์ ์ธ์ ๋๋ค:) PS๋ก ํ๋ฃจ๋ฅผ ํ์ฐจ๊ฒ ์์ํ๋ ค๊ณ ํ๋๋ฐ ์ด์ ํ ์ผ์ ์ข ํ๊ณ ๋ฌธ์ ๋ฅผ ํ์ด์ผ๊ฒ ์ด์...ใ maxElement { max = maxElement } pointer1 += 1 pointer2 += 1 } return max } ์ฒ์์๋ ํฌ ํฌ์ธํฐ๋ฅผ ํ์ฉํด ์ฌ๋ผ์ด๋ฉ ์๋์ฐ ๊ธฐ๋ฒ์ผ๋ก k๊ฐ์ ๋๋ค๋์ ํ ๊ตฌ๊ฐ์ผ๋ก ์ค์ ํด์ ์ ์ฒด๋ฅผ ์ค์บํ๋ ๋ฐฉ์์ผ๋ก ํ์์ต๋๋ค. ์๋ํ๋ฉด, ์ง๊ฒ๋ค๋ฆฌ๋ฅผ ๋ ์ด์ ๊ฑด๋์ง ๋ชปํ๊ฒ ๋๋ ์๊ฐ์ ์ ํ ์ซ์๊ฐ 0์ด ๋๋ ๋๋ค๋์ด k๊ฐ ์ฐ๋ฌ์ ๋์ค๋ ๊ฒฝ์ฐ์ด๊ธฐ ๋๋ฌธ์ ๊ธธ์ด๊ฐ k์ธ ๊ตฌ๊ฐ ์์์์ ์ต๋๊ฐ์ด ํด๋น ๊ตฌ๊ฐ์ ๊ฑด๋ ์ ์๋ ์ฌ๋์ ์ต๋ ์ซ์๋ผ๋ ๊ฒ์ ํ์ ํ๊ณ , ํญ์ ๊ฐ์ฅ ๊ฐ๊น์ด ๋์ ๋ฐ์์ผ ํ๋ฏ๋ก ํ ์ฌ๋์ด ๊ฑด๋ ๋๋ง๋ค ์ ์ฒด ๋์ ์ซ์๊ฐ 1์ฉ ๊ฐ์ํ๊ธฐ ๋๋ฌธ์ ์ ์ฒด ๋ค๋ฆฌ.. ์ด์ 1 2 ๋ค์