์ฝ๋ฉํ ์คํธ/์๊ณ ๋ฆฌ์ฆ&์๋ฃ๊ตฌ์กฐ2 3. Linked List ๋งํฌ๋ ๋ฆฌ์คํธ๋? ํฌ์ธํฐ๋ก ์ฐ๊ฒฐ๋ ๋ ธ๋๋ค์ ์ปฌ๋ ์ ์ด๋ผ๊ณ ํ ์ ์๊ณ , ์คํ, ํ, ํด์ ํ ์ด๋ธ์ ๊ตฌํํ๋๋ฐ ์ฌ์ฉ๋ ์ ์๋ค. ์์ ์ง์ ์ ๋ ธ๋๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ์ญ์ ํ๋ ๊ฒ์ O(1) ์์ ์๊ฐ์ด ์์๋๋ค. ๋ ธ๋ ํด๋์ค ์ฝ๋ ์์ public class Node { int val; Node next; ListNode() {} Node(int val) { this.val = val; } Node(int val, Node next) { this.val = val; this.next = next; } } ์ฝ๋ฉํ ์คํธ ํ ๐๏ธ Recursion๋ ์์์ผ ํ๊ณ ๊ทธ ์ด๋ ต๋ค๋ ํฌ์ธํฐ๋ฅผ ํ์ฉํด์ ๋ฌธ์ ๋ฅผ ํ์ด์ผ ํ๊ธฐ ๋๋ฌธ์ ๊ทธ๋ฆผ์ ๋ง์ด ๊ทธ๋ ค๋ณด๋ฉด์ ์ฝ๋๋ฅผ ๋ฐ๋ผ๊ฐ ๋ณด๋ ๊ฒ์ด ์ค์ํ๋ค. ๋ง์ฝ Easy ๋ฌธ์ ๋ ๋๋ฌด ์ด๋ ต๊ฒ ๋๊ปด์ง๋ค๋ฉด .. 2024. 3. 9. 2. Arrays ๋ฐฐ์ด์ด๋? ๊ฐ์ ํ์ ์ ๋ฐ์ดํฐ๋ฅผ ์ฐ์๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์์นํด ์ธ๋ฑ์ค๋ก ๊ฐ์ ๊ฐ์ ธ์ฌ ์ ์๋ค. ๋ฐฐ์ด์ ํฌ๊ธฐ๋ ์์ฑํ ๋ ์ ํด์ง๋ฉฐ ํ ๋ฒ ์์ฑํ๋ฉด ์ฌ์ด์ฆ๋ ๊ณ ์ ์ด๊ธฐ ๋๋ฌธ์ ๋ณ๊ฒฝํ ์ ์๋ค. ๋ง์ฝ ๋์ ๋ฐฐ์ด์ด ํ์ํ ๊ฒฝ์ฐ, ์๋ฐ์์๋ ArrayList๋ฅผ ์ฌ์ฉํ ์ ์๋ค(c++์์๋ vector). ์ฝ๋ฉํ ์คํธ ํ ๐๏ธ ๋ฐฐ์ด์ ๋์ค์ ์ด๋ ค์ด ๋ฌธ์ ๋ฅผ ํ ๋ ๊ธฐ๋ณธ์ผ๋ก ์๊ณ ์์ด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋ฐฐ์ด ๊ด๋ จ ์ฝ๋๋ ์ฝ๊ณ ๋น ๋ฅด๊ฒ ์์ฑํ ์ ์์ ๋งํผ ์ต์ํด์ ธ์ผ ํ๋ค. ๋ฐฐ์ด๊ด๋ จ ๋ฌธ์ ๋ ์ข ๋ฅ๋ ๋ค์ํ๊ณ ๋์ด๋๊ฐ ์ฒ์ ์ ํ๋ฉด ์๊ฐ๋ณด๋ค ์ด๋ ค์ด ๋ฌธ์ ๋ค์ด ๋ง๋ค. prefix sum, sliding window, two pointer ๊ฐ์ ๊ฐ๋ ์ ๋ฐฐ์ด ๋ฌธ์ ๋ฅผ ํ ๋ ์์๋๋ฉด ์ข๊ณ , HashMap๋ ๋ง์ด ํ์ฉํ๊ธฐ ๋๋ฌธ์ ํด์๋งต์ ๋ฉ์๋๋ฅผ.. 2024. 3. 2. ์ด์ 1 ๋ค์