[D+22] Linked List ๊ตญ๋น์ง์ D+22 - Linked List - Linked List • ์ ์ ๊ธฐ์กด์ ์ฐ๋ฆฌ๊ฐ ๋ฐฐ์ด ๋ฐฐ์ด์ ์ฐ๊ฒฐ๋์ด ๋ถ์ด์๋ ์๋ฃ๊ตฌ์กฐ๋ก ์ ๊ทผํ๊ธฐ์ข์ผ๋ฉฐ, ๋ณ๊ฒฝ๋์ง ์๋ ๊ณ ์ ์ ์ธ ๋ฐ์ดํฐ์ ์ฌ์ฉ์ด ์ฉ์ดํ ์ฅ์ ์ ๊ฐ์ง๊ณ ์๋ค. ๊ทธ๋ฌ๋ ๋ฐฐ์ด์๋ ๋จ์ ์ด ์กด์ฌํ๋๋ฐ ๋ฐ๋ก ์ค๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๋นผ๊ฑฐ๋ ์ถ๊ฐํ ๊ฒฝ์ฐ ์ฐ์ฐ์ด๋ ๊ตฌ์กฐ๊ฐ ๋ณ๊ฒฝ๋๊ธฐ ์ฌ์ฐ๋ฉฐ ๋ฐฐ์ด๊ธ ํฌ๊ธฐ๊ฐ ๊ณ ์ ์ ์ธ ํน์ง์ผ๋ก ์ธํด ์ถํ์ ์ผ๋ง๋ ๋ง์ ์์ ๋ฐ์ดํฐ๊ฐ ๋ค์ด์ฌ์ง ๋ชฐ๋ผ ์ฌ์ด์ฆ๋ฅผ ํฌ๊ฒ์ก์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ญ๋น๋ ์ผ๋ ค๊ฐ ์์๋ค. ์ด๋ฌํ ๋ฐฐ์ด์ ๋ฌธ์ ์ ์ ๊ทน๋ณตํ๊ธฐ ์ํด ๋ฐ๋ก Linked List๊ฐ ๋ฑ์ฅํ๊ฒ ๋์๋ค. • ๊ตฌ์กฐ Linked List๋ Data์ ๋ค์ ๋ ธ๋๋ฅผ ์ฐธ์กฐํ๋ ์ฐธ๊ณ ๊ฐ์ ๋ด๊ณ ์๋ ๋ ธ๋๋ก ๊ตฌ์ฑ๋์ด ์์ผ๋ฉฐ, ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ ๋ ๋ง๋ค ๋ ธ๋๊ฐ ์ถ๊ฐ๋๋ฉฐ ๋์์ ์ด์ ๋ ธ๋๊ฐ ์.. 2022. 10. 24. [D+22] ์ฝ๋ฉ๋ฐ์ด ๊ตญ๋น์ง์ D+22 - ์ฝ๋ฉ๋ฐ์ด - ์ฝ๋ฉ๋ฐ์ด Q) Linked List๋ฅผ ๊ตฌํํ์์ค. • Main.java public class Main { // ๋ง์ง๋ง ๋ ธ๋๋ฅผ getํ๋ ํจ์ public static Node getLastNode(Node head) { Node lastNode = head; while(lastNode.getNext() != null) { lastNode = lastNode.getNext(); } return lastNode; } // ๋ ธ๋๋ฅผ ์ถ๊ฐํ๋ ํจ์ public static void InsertNode(Node head, Node newNode) { Node lastNode = null; // 1. ๋ง์ง๋ง ๋ ธ๋๋ฅผ ์ฐพ๋๋ค. lastNode = getLastNode(head); //.. 2022. 10. 22. [D+21] ์์ ๊ต์ฌ์ ๋ฆฌ, ์ธํฐํ์ด์ค ๊ตญ๋น์ง์ D+21 - ์์ ๊ต์ฌ์ ๋ฆฌ, ์ธํฐํ์ด์ค - ์์ ๊ต์ฌ์ ๋ฆฌ • ์์ - ์์์ ์ฌํ์ฉ๊ณผ ๊ณตํต๋ ๊ท์ฝ์ ์ง์ํ๊ธฐ ์ํ ๋ฌธ๋ฒ์ด์ ๊ฐ์ฒด ์งํฅ์ ํน์ง์ด๋ค. - ๊ณตํต๋ ๋ถ๋ถ์ ํ๋์ ํด๋์ค๋ก ๋ง๋ค์ด์ฃผ๊ณ ์์ํ๋ฉด ์ํ์ ์ธ ํ์ฅ์ด ๋ฐ์๋ ๋ ๊ณตํต๋ ๋ถ๋ถ์ ๋ค์ ๋ฃ์ด์ฃผ์ง ์์๋ ๋๋ค. - ์์์ ์ฌํ์ฉ์ธก๋ฉด์ผ๋ก ์ฌ์ฉํ๋ค๋ฉด ์ํ ํ์ ์ด ์กด์ฌํด์ผํ๋ฉฐ, ๊ฒน์น๋ ๋ถ๋ถ์ ๋ํ ๋ณผ๋ฅจ์ด ์ด๋์ ๋ ์กด์ฌํด์ผ ํ๋ค. • ์ด๋ ธํ ์ด์ - ์ปดํ์ผ๋ฌ์๊ฒ ์ด๋ค ์ ๋ณด๋ฅผ ์ฃผ๋ ๊ฒ => ์ปดํ์ผ์์ ํน์ ํ ์ก์ ์ ์ทจํ ์ ์๊ฒ ํ๋ ๊ฒ public class Tank extends Unit { @Override public void Attack() { Pung(); } public void Pung() { System.out.println("ํฑํฌ.. 2022. 10. 20. [D+20] ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ํ์ฉ ๊ตญ๋น์ง์ D+20 - ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ํ์ฉ - ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ํ์ฉ #1. ์ธ์ด ํน์ฑ ํ์ฉํ๊ธฐ • ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ์ ํ - ๋ช ๋ นํ ์ธ์ด(Imperative Language) : ์ปดํจํฐ๊ฐ ๋์ํด์ผํ ์๊ณ ๋ฆฌ์ฆ์ ํตํด ํ๋ก๊ทธ๋๋ฐ์ ์ํ๋ฅผ ๋ณ๊ฒฝ์ํค๋ ๊ตฌ๋ฌธ์ ์ค์ ์ ๋ ๋ฐฉ์ - ํจ์ํ ์ธ์ด(Functional Language) : ํจ์์ ์์ฉ์ ๊ฐ์กฐํ๋ฉด์ ์๋ฃ์ ์ฒ๋ฆฌ๋ ์ํ์ ์ธ ํจ์์ ์ฐ์ฐ์ผ๋ก ์ทจ๊ธํ๊ณ , ์ํ์ ๊ฐ๋ณ ๋ฐ์ดํฐ๋ ๋ฉ๋ฆฌํ๋ ๋ฐฉ์ ex) LISP, Scala- ๊ฐ์ฒด์งํฅ์ธ์ด(Object - Oriented Language) : ๊ฐ์ฒด ๊ฐ์ ๋ฉ์์ง ํต์ ์ ์ด์ฉํ์ฌ ๋์ํ๋ ๋ฐฉ์ex) JAVA, C++ ์ปดํ์ผ ์ธ์ด(Compile Language) - ์์ค์ฝ๋๋ฅผ ๋ชจ์์ object-code๋ฅผ ๋ง๋ ๋ค. - ์ ์ฒด์์ค.. 2022. 10. 20. [D+19] ์ค๋ฒ๋ผ์ด๋ฉ๊ณผ ์์๊ด๊ณ ๊ตญ๋น์ง์ D+19 - ์ค๋ฒ๋ผ์ด๋ฉ๊ณผ ์์๊ด๊ณ - ์ค๋ฒ๋ผ์ด๋ฉ๊ณผ ์์๊ด๊ณ ์ค๋ฒ๋ผ์ด๋ฉ - ๊ฐ์ฒด์งํฅ์ ํน์ฑ์ค ๋คํ์ฑ์ ํด๋น๋๋ค. - ๋คํ์ฑ : ๋ณธ์ฒด๋ ํ๋์ธ๋ฐ ํํ๊ฐ ์ฌ๋ฌ๊ฐ - ์ค๋ฒ๋ผ์ด๋ฉ์ ์์๊ด๊ณ์ ์๋ ๋ถ๋ชจ ํด๋์ค์์ ์ด๋ฏธ ์ ์๋์ด์๋ ๋ฉ์๋๋ฅผ ์์ ํด๋์ค์์ ๊ฐ์ ๋ฐฉ์์ ๊ฐ์ง๋ ๋ฉ์๋๋ก ๋ค์ ์ฌ์ ์ ํ๋ ๊ฒ์ด๋ค. - ์์๋ฐ์ ๋ถ๋ชจ ํด๋์ค๋ก ๋ถํฐ ๋ฐ์ ๋ฉ์๋๋ฅผ ์ฌ์ ์ํ์ฌ ์ฌ์ฉํ๋ ๊ฒ์ด๋ค. ์์๊ด๊ณ // ๋ถ๋ชจ ํด๋์ค : TV // ์์ ํด๋์ค : SmartTV TV tv = new SmartTV(ipAddress, channel);// O ์์๊ด๊ณ์์ ๋ถ๋ชจํด๋์ค์ ์ฐธ์กฐ๋ณ์๋ก ์์ํด๋์ค ์ ๊ทผ์ด ๊ฐ๋ฅํ๋ค. ๋ถ๋ชจํด๋์ค TV์ ์ฐธ์กฐ๊ฐ๊ณผ ์์๋ ์์ ํด๋์ค์ธ SmartTV์ ์ฐธ์กฐ๊ฐ์ด ๋์ผํ๊ธฐ ๋๋ฌธ์ ๋ถ๋ชจํด๋์ค์ ์ฐธ์กฐ๋ณ์.. 2022. 10. 19. [D+18] ์์ ๊ตญ๋น์ง์ D+18 - ์์ - ์์ ์ฐ๋ฆฌ๊ฐ ๊ฐ์ฅ ํํ ์๊ณ ์๋ ์ฉ์ด์ ํด์์ฐจ์์์ ์์์ ์์์๊ฒ ๋ฌผ๋ ค์ค๋ค๋ ์๋ฏธ๋ฅผ ๊ฐ์ง๊ณ ์๋ค. ์ด๋ฌํ ์์์ ์๋ฏธ๋ ํ๋ฆฐ๊ฒ์ ์๋์ง๋ง ์ฐ๋ฆฌ๊ฐ ์์์ผํ ๊ธฐ๊ณ์ ์ธ ์๋ฏธ๋ก ํด์ํ๋ฉด ์์์ ๋ฉ๋ชจ๋ฆฌ ๋ธ๋ก์ ๊ฒฐํฉ์ ์๋ฏธํ๋ค. ์ฆ, ์์์ Heap์์ญ์์์ ๋ฉ๋ชจ๋ฆฌ ๊ฒฐํฉ์ด๋ผ๊ณ ํ ์ ์๋ค. ์์์ ์ฅ/๋จ์ ๋จผ์ ์์์ ์ฅ์ ์ ์ฌํ์ฉ์ ์ธ ์ธก๋ฉด์ด ์๋ค๋ ๊ฒ์ด๋ค. ์๋ฅผ ๋ค์ด ์ค๋ช ํด ๋ณด์๋ฉด, ๋ง์ฝ ์ฐ๋ฆฌ๊ฐ ๋๋ฌผ๋ณ์ ํ๋ก๊ทธ๋จ์ ๋ง๋ค๋ ์์์ด ์์ ๊ฒฝ์ฐ์ ๋๋ฌผ๋ค์ ์ง์ฐฐ์ ๋ฐ์ ๋ ํญ์ ํผ๊ฒ์ฌ๋ฅผ ๋ฐ์์ผ ํ๋๋ฐ ๋ค์ด์ค๋ ๋๋ฌผ๋ง๋ค ํผ๊ฒ์ฌ๋ฅผ ๋งค๋ฒ ๋ฃ์ด์ผํ๋ ๋ฒ๊ฑฐ๋ก์์ด ์์ ๊ฒ์ด๋ค. ๊ทธ๋ฐ๋ฐ ์ฐ์ธก ๊ทธ๋ฆผ์ฒ๋ผ ๋งค๋ฒ ํผ๊ฒ์ฌ๋ฅผ ๋๋ฌผ์์ ๋ฃ์ด์ฃผ๋ ๊ฒ์ด ์๋๋ผ ํผ๊ฒ์ฌ๋ผ๋ ํด๋์ค๋ฅผ ๋ง๋ ๋ค์์ ๋๋ฌผ๋ค์๊ฒ ์์ํด์ค๋ค๋ฉด .. 2022. 10. 18. ์ด์ 1 ยทยทยท 4 5 6 7 8 9 10 ยทยทยท 14 ๋ค์