Java
LinkedList ๋ฅผ ์ด์ฉํด์ Stack ๊ตฌํ
public class Node{ //๋ ธ๋ ํด๋์ค public String data;//๋ฐ์ดํฐํ๋ public Node link; public Node(String data){ super(); this.data = data; } public Node(String data, Node link){ this(data); this.link = link;} @override public String toString(){ return "Node [ data="+data+"link="+link+"]"; } public class Stack{ private Node top; //๋ฆฌ์คํธ์ ์์์ private void push(String data){ Node newNode = new Node(data, top); to..
์ฌ๊ท
์ฌ๊ท (Recurssion) ํจ์ ๋ด๋ถ์์ ์ง์ ํน์ ๊ฐ์ ์ ์ผ๋ก ์๊ธฐ ์์ ์ ํธ์ถ Base Part : ์ฌ๊ท๋ฅผ ๋๋๋ ์กฐ๊ฑด์ ์ง๋ ํํธ Inductive Par : ์๊ธฐ ์์ ์ ํธ์ถํ๋ ํํธ ์ฌ๊ท์ ํธ์ถ์ ํ๋ก๊ทธ๋จ ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ์์ ์คํ์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์, ๋ฐ๋ณต์ ์ธ ํธ์ถ์ ๋ฉ๋ชจ๋ฆฌ ๋ฐ ์๋์ ์ฑ๋ฅ ์ ํ๋ฅผ ์ผ๊ธฐํ๋ค. ์์ ํฉํ ๋ฆฌ์ผ int factorial(int n){ if (n==1 || 0) return 1; else return n*factorial(n-1); } Permutation public class PermutationTest { static int N =3, R =4; static int[] numbers; static int[] input; static boolean[] isSelected;..
1์ฐจ์ ๋ฐฐ์ด
์ผ์ ํ ์๋ฃํ์ ๋ณ์๋ค์ ํ๋์ ์ด๋ฆ์ผ๋ก ์ด๊ฑฐํ์ฌ ์ฌ์ฉํ๋ ์๋ฃ ๊ตฌ์กฐ → ๋ณ์๋ก ํ๊ธฐ ํ๋ ์์ ์ ๋ฐฐ์ด์ ํตํด ์ฝ๊ฒ ํด๊ฒฐํ ์ ์์ ๋ฐฐ์ด ๊ธฐ๋ณธ ๋ฌธ๋ฒ int[] arr = new int[4]; //์๋ฃํ ๋ฐฐ์ด ์ด๋ฆ = new ์๋ฃํ[๋ฐฐ์ด์ ๊ธธ์ด]; int[] arr2= new int[]{1,2,3,4}; int[] arr3; arr3 = new int[4]; //์ ๊ทผ: arr[0] = 10; ๋ฐฐ์ด ์ฐ์ต๋ฌธ์ : https://swexpertacademy.com/main/identity/anonymous/loginPage.do SW Expert Academy SW ํ๋ก๊ทธ๋๋ฐ ์ญ๋ ๊ฐํ์ ๋์์ด ๋๋ ๋ค์ํ ํ์ต ์ปจํ ์ธ ๋ฅผ ํ์ธํ์ธ์! swexpertacademy.com

Tree
ํธ๋ฆฌ ํธ๋ฆฌ๋ ๋น์ ํ ์๋ฃ ๊ตฌ์กฐ๋ก ์์๋ค ๊ฐ์ 1: n ์ ๊ด๊ณ๋ฅผ ๊ฐ์ง๋ค ์์๋ค ๊ฐ์ ๊ณ์ธต ๊ด๊ณ๋ฅผ ๊ฐ์ง๋ ๊ณ์ธตํ ์๋ฃ๋ก, ์์ ์์์์ ํ์ ์์๋ก ๋ด๋ ค๊ฐ๋ฉด์ ํ๋น๋๋ ํธ๋ฆฌ(๋๋ฌด) ๋ชจ์์ ๊ตฌ์กฐ๋ก ์ด๋ฃจ์ด์ง ์ ํ ์งํฉ ๋ ธ๋ ํธ๋ฆฌ์ ์์ ํธ๋ฆฌ๋ ํ๊ฐ ์ด์์ ๋ ธ๋๋ก ์ด๋ฃจ์ด์ง ์ ํ ์งํฉ์ด๋ฉฐ ๋ค์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ค ๋ ธ๋ ์ค ์ต์์ ๋ ธ๋๋ฅผ root ๋ผ๊ณ ํ๋ค ๋๋จธ์ง ๋ ธ๋๋ค์ n(≥0) ๊ฐ์ ๋ถ๋ฆฌ์งํฉ์ผ๋ก T1,...TN์ผ๋ก ๋ถ๋ฆฌ๋ ์ ์๋ค. ์ด T1,,,TN์ ๊ฐ๊ฐ ํ๋์ ํธ๋ฆฌ๊ฐ ๋๋ฉฐ(์ฌ๊ท์ ์ ์) ๋ฃจํธ์ ๋ถ ํธ๋ฆฌ(subtree) ๋ผ๊ณ ํ๋ค ์ฉ์ด์ ๋ฆฌ ํ์ ๋ ธ๋ : ๊ฐ์ ๋ถ๋ชจ ๋ ธ๋์ ์์ ๋ ธ๋๋ค ์กฐ์ ๋ ธ๋: ๊ฐ์ ์ ๋ฐ๋ผ ๋ฃจํธ ๋ ธ๋๊น์ง ์ด๋ฅด๋ ๊ฒฝ๋ก์ด ์๋ ๋ชจ๋ ๋ ธ๋๋ค ์๋ธํธ๋ฆฌ: ๋ถ๋ชจ ๋ ธ๋์ ์ฐ๊ฒฐ๋ ๊ฐ์ ์ ๋์์ ๋ ์๊ธฐ๋ ํธ..

List
๋ฆฌ์คํธ ์์๋ฅผ ๊ฐ์ง ๋ฐ์ดํฐ ์งํฉ์ ๊ฐ๋ฆฌํค๋ ์ถ์์๋ฃํ (abstract data type) ์ผ๋ก, ๋์ผํ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ์์ด๋ ์๊ด ์๋ค. ๋ฆฌ์คํธ๋ ํฌ๊ฒ ๋๊ฐ์ง๋ก ๋๋๋๋ฐ, ์์ฐจ ๋ฆฌ์คํธ์ ์ฐ๊ฒฐ ๋ฆฌ์คํธ๊ฐ ์๋ค. ๐คฆ๐ปโ๏ธ ์์ฐจ ๋ฆฌ์คํธ : ๋ฐฐ์ด์ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌํ๋ ๋ฆฌ์คํธ ์ฐ๊ฒฐ ๋ฆฌ์คํธ : ๋ฉ๋ชจ๋ฆฌ์ ๋์ ํ ๋น์ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌํ๋ ๋ฆฌ์คํธ ๊ตฌํ ๋ฐฉ๋ฒ 1์ฐจ์ ๋ฐฐ์ด์ ํญ๋ณต๋ค์ ์์๋๋ก ์ ์ฅํ๋ค ๋ฐ์ดํฐ์ ์ข ๋ฅ์ ๊ตฌ์กฐ์ ๋ฐ๋ผ ๊ตฌ์กฐํ๋ ์๋ฃ๊ตฌ์กฐ๋ฅผ ๋ง๋ค์ด ๋ฐฐ์ด์ ์ ์ฅํ ์๋ ์๋ค int [] L = {4,5,9,11 }; ๋ฐ์ดํฐ ์ ๊ทผ ๋ฐฉ๋ฒ ๋ฐฐ์ด์ ์ธ๋ฑ์ค๋ฅผ ์ด์ฉํด ์ํ๋ ์์น์ ๋ฐ์ดํฐ์ ์ ๊ทผํ ์ ์๋ค int a = L [1]; //L =5 ์ฝ์ ์ฐ์ฐ ์ฝ์ ์์น ๋ค์์ ํญ๋ชฉ๋ค์ ๋ค๋ก ์ด๋ํด์ผ ํ๋ค ์ญ์ ์ฐ์ฐ ์ญ์ ์์น ๋ค์ ํญ๋ชฉ๋ค..
QUEUE
ํน์ฑ ์คํ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์ฝ์ ๊ณผ ์ญ์ ์ ์์น๊ฐ ์ ํ์ ์ธ ์๋ฃ๊ตฌ์กฐ ์ ์ ์ ์ถ ๊ตฌ์กฐ (First In First Out) ํ์ ์ฝ์ ํ ์์๋๋ก ์์๊ฐ ์ ์ฅ๋๋ฉฐ, ๊ฐ์ฅ ๋จผ์ ์ฝ์ ๋ ์์๊ฐ ๊ฐ์ฅ ๋จผ์ ์ญ์ ๋จ ๊ธฐ๋ณธ ์ฐ์ฐ : enQueue, deQueue ์ฃผ์ ๋ฉ์๋: offer(), poll(), isEmpty(), size(), peek() ์ฃผ๋ก LinkedList ํด๋์ค๋ฅผ Queue ์ธํฐํ์ด์ค์ ๊ตฌํ์ฒด๋ก ๋ง์ด ์ฌ์ฉํ๋ค ๐คฆ๐ปโ๏ธ ํ ์์ ์๋ฌด๊ฒ๋ ์์ ๋, ์คํ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก poll() : ์ญ์ - ๋ฅผ ๋ถ๋ ์ ๋, ์์ธ ๋ฐ์ ์ฒ๋ฆฌ๊ฐ ์๋ค remove() : ์ญ์ - ๋ฅผ ๋ถ๋ ์ ๋, ์์ธ๊ฐ ๋ฐ์ํ๋ค ์์ import jvava.util.Queue; import java.util.LinkedList; public ..