์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜

    [C# ์ž๋ฃŒ๊ตฌ์กฐ] ๋™์  ๋ฐฐ์—ด(List: C++vector์™€ ์œ ์‚ฌํ•จ) ๊ตฌํ˜„

    Board ํด๋ž˜์Šค ์•ˆ์—์„œ List๋ฅผ ์จ๋ณด๊ณ , ๊ทธ List์˜ ๋™์  ๋ฐฐ์—ด ๋กœ์ง์„ ์ง์ ‘ ๊ตฌํ˜„ํ•˜๋Š” ์ฝ”๋“œ List using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Algorithm { class Board { public int[] _data = new int[25]; //๋ฐฐ์—ด public List _data2 = new List(); //๋™์  ๋ฐฐ์—ด public LinkedList _data3 = new LinkedList(); //(์ด์ค‘)์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ public void Initialize() { _data2.Add(101); _data..

    [C# ์ž๋ฃŒ๊ตฌ์กฐ] ์„ ํ˜• ์ž๋ฃŒ ๊ตฌ์กฐ ( ๋ฐฐ์—ด vs ๋™์  ๋ฐฐ์—ด vs ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ)

    public int[] _data = new int[25]; //๋ฐฐ์—ด public List _data1 = new List(); //๋™์  ๋ฐฐ์—ด public LinkedList _data3 = new LinkedList(); //(์ด์ค‘)์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ **์ฃผ์˜ C++๊ณผ ํ˜ผ๋ˆ๋  ์ˆ˜ ์žˆ๋Š”๋ฐ C#์—์„œ์˜ List๋Š” C++์—์„œ์˜ Vector, C#์—์„œ์˜ LinkedList๋Š” C++์—์„œ์˜ List ๊ฐ๊ฐ ๋Œ€์‘ํ•ด์„œ ๋น„์Šทํ•˜๊ฒŒ ์งœ์—ฌ์ง„ ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค. ์„ ํ˜• ๊ตฌ์กฐ๋Š” ์ž๋ฃŒ๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ๋‚˜์—ดํ•œ ํ˜•ํƒœ - ๋ฐฐ์—ด - ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ - ์Šคํƒ / ํ ๋น„์„ ํ˜• ๊ตฌ์กฐ๋Š” ํ•˜๋‚˜์˜ ์ž๋ฃŒ ๋’ค์— ๋‹ค์ˆ˜์˜ ์ž๋ฃŒ๊ฐ€ ์˜ฌ ์ˆ˜ ์žˆ๋Š” ํ˜•ํƒœ - ํŠธ๋ฆฌ - ๊ทธ๋ž˜ํ”„ 1. ๋ฐฐ์—ด (1) ์žฅ์  : ์—ฐ์†์„ฑ(์ž„์˜ ์ ‘๊ทผ Random Access ๊ฐ€๋Šฅ) (2) ๋‹จ์  : ์‚ฌ์ด์ฆˆ ์ถ”๊ฐ€ / ์ถ•์†Œ ..

    [์ˆœํ™˜๊ณผ ๋ฐ˜๋ณต] ํŒฉํ† ๋ฆฌ์–ผ ๊ณ„์‚ฐ ํ”„๋กœ๊ทธ๋žจ

    ํŒฉํ† ๋ฆฌ์–ผ์„ ์ˆœํ™˜, ๋ฐ˜๋ณต ๊ฐœ๋…์— ๋งž์ถ”์–ด์„œ ํ”„๋กœ๊ทธ๋žจ์„ ์งœ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. 1. ์ˆœํ™˜ #include #include #include using namespace std; int factorial(int n) { cout

    C# Queue์™€ Stack ํŠน์„ฑ์„ LinkedList๋กœ ๊ทธ๋Œ€๋กœ ๊ตฌํ˜„

    Queue์™€ Stack์€ LinkedList์˜ ์ถ•์†ŒํŒ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. (์„ ์ž…์„ ์ถœ, ํ›„์ž…์„ ์ถœ ๋งŒ์„ ๊ตฌํ˜„ํ•  ๋•Œ, ํ์™€ ์Šคํƒ์ด ํ›จ์”ฌ ์ง๊ด€์ ์ž„.) list์˜ ๊ฒฝ์šฐ์—๋Š” stack์„ ๊ตฌํ˜„ํ•˜๋Š”๋ฐ ์–ด๋ ค์›€์ด ์—†์œผ๋‚˜, queue ๊ตฌํ˜„์—๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค. ๊ฐ€์žฅ ์•ž ์›์†Œ๋ฅผ ์ง€์šฐ๊ณ  ๋‚˜๋ฉด ๋’ค์— ์Œ“์ธ ์›์†Œ๋“ค์„ ํ•œ์นธ์”ฉ ์•ž์œผ๋กœ ๋ฏธ๋ค„์•ผํ•˜๋Š”(์ด์‚ฌ์‹œ์ผœ์ค˜์•ผํ•˜๋Š”) ์ž‘์—…์„ ์ถ”๊ฐ€ํ•ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ! ๊ฒŒ์ž„์—์„œ Stack์€ UI๋ฅผ ๊ตฌํ˜„ํ•  ๋•Œ ์‘์šฉ๊ฐ€๋Šฅํ•˜๋‹ค. ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰์— ๋œฌ UI ์ฐฝ๋ถ€ํ„ฐ ์‚ฌ๋ผ์ง€๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ! queue ๊ฐ™์€ ๊ฒฝ์šฐ๋Š” ๋„คํŠธ์›Œํฌ ์ƒ ์—ฌ๋Ÿฌ๋ช…์˜ ์œ ์ €๊ฐ€ ํ•œ ๋ชฌ์Šคํ„ฐ๋ฅผ ํƒ€๊ฒŸํ•œ๋‹ค๊ณ  ํ–ˆ์„ ๋•Œ ๊ฐ€์žฅ ๋จผ์ € ๋•Œ๋ฆฐ ์œ ์ €์˜ ํƒ€๊ฒฉ๋ถ€ํ„ฐ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋„๋ก ํƒ€๊ฒฉ๊ฐ’์„ ์ค„์„ธ์šฐ๊ธฐ ์‹œํ‚ฌ ๋•Œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค. namespace ConsoleApp1 { class P..

    ์†Œ์ˆ˜ ๋น ๋ฅด๊ฒŒ ์ฐพ๊ธฐ, sqrt (), ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด + pow()

    ์†Œ์ˆ˜ ๋น ๋ฅด๊ฒŒ ์ฐพ๊ธฐ, sqrt (), ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด + pow()

    ๊ณต๋žต๋ฒ• : TargetNum์ด ์†Œ์ˆ˜์ธ์ง€ ์•„๋‹Œ์ง€ ํ™•์ธํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด, (1) TargetNum์˜ sqrt ()๋กœ ์ œ๊ณฑ๊ทผ์„ ๊ตฌํ•˜์—ฌ ์•ฝ์ˆ˜๋ฅผ 2๋ถ€ํ„ฐ ๋ฃจํŠธTargetNum๊นŒ์ง€๋งŒ ๊ฒ€ํ† ํ•œ๋‹ค. (2) ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด ๊ฐœ๋…์„ ์ด์šฉํ•˜์—ฌ for๋ฌธ์„ ๋Œ๋ฉด์„œ ํŠน์ • i์˜ ๋ฐฐ์ˆ˜๋ฅผ ์ „๋ถ€ ์ง€์›Œ๋‚˜๊ฐ„๋‹ค. (1) ์ œ๊ณฑ๊ทผ๊นŒ์ง€ ์•ฝ์ˆ˜ ๋ฒ”์œ„๋ฅผ ์ค„์ธ ๊ฒฝ์šฐ -> ์ •์ƒ์ ์œผ๋กœ ์†Œ์ˆ˜๊ฐ€ ์ถœ๋ ฅ๋จ #include #include using namespace std; bool isPrimeNumber(int x) { int end = (int)sqrt(x); for (int i = 2; i

    ์ด์ง„ํƒ์ƒ‰ ํ•ต์‹ฌ์ฝ”๋“œ

    ์žฌ๊ท€๋ฅผ ํ™œ์šฉํ•œ ์ด์ง„ํƒ์ƒ‰์˜ ํ•ต์‹ฌ ๊ฐœ๋…์ด ๋˜๋Š” ์ฝ”๋“œ def Search(start,end,target): if start==end: //~~ return mid = (start+end)/2 if nums[mid]

    BFS ์ฝ”๋“œ

    bfs ํ•จ์ˆ˜์—์„œ๋Š” (1) push()ํ•˜์ž๋งˆ์ž check=true๋กœ ๋งŒ๋“ค์–ด์ฃผ๊ณ  (2) ํ๊ฐ€ ๋น„์–ด์žˆ์ง€ ์•Š๋Š” ํ•œ ๊ณ„์† ๋ฐ˜๋ณตํ• ๋•Œ๋งˆ๋‹ค front()๋ฅผ pop() ํ•ด์ฃผ๋Š” ๊ฒƒ์ด ๊ฝค๋‚˜ ์ค‘์š”ํ•ด๋ณด์ธ๋‹ค. ๊ทธ๋Ÿฌ๋‹ค๋ณด๋‹ˆ ์ฒซ๋…ธ๋“œ๋Š” ๊ทธ์•ผ๋ง๋กœ ํ์— ๋“ค์–ด๊ฐ€์ž๋งˆ์ž(push) ๋น ์ ธ๋‚˜์˜ค๊ฒŒ(pop)๊ฒŒ ๋œ๋‹ค. main ํ•จ์ˆ˜์—์„œ๋Š” ์ฐจ๋ถ„ํ•˜๊ฒŒ ์ธ์ ‘๋ฆฌ์ŠคํŠธ๋ฅผ ๊ตฌํ˜„ํ•ด์•ผํ•œ๋‹ค. #include #include #include using namespace std; vector numbers[7]; int check[7]; void bfs(int start) { queue que; que.push(start); check[start] = true; while (!que.empty()) { int x =que.front(); que.pop(); cout

    [C++]์›ํ˜•ํ ๊ตฌํ˜„, ์ค„์„œ๊ธฐ ์˜ˆ์‹œ

    ํ๋Š” ๊ฐ€์žฅ ๋จผ์ € ์ž…๋ ฅํ•œ ์ž๋ฃŒ๋ฅผ ๊ฐ€์žฅ ๋จผ์ € ์ถœ๋ ฅํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. ์ •๋ฅ˜์žฅ์—์„œ, ์‚ฌ๋žŒ๋“ค์ด ์ค„์ง€์–ด ์„œ์„œ ๊ธฐ๋‹ค๋ฆฌ๋‹ค๊ฐ€ ๋ฒ„์Šค๊ฐ€ ์˜ค๋ฉด ์ˆœ์„œ๋Œ€๋กœ ํƒ€๋Š” ์˜ˆ์˜๋ฒ”์ ˆ์„ ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. ํ๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๊ธฐ๋ณธ idea๋Š” ๋ฐฐ์—ด ๋‚ด head(์ฒ˜์Œ ์„  ์‚ฌ๋žŒ)์™€ tail(๋งˆ์ง€๋ง‰์— ์„  ์‚ฌ๋žŒ) ์ธ๋ฑ์Šค์„ ์žก๊ณ  enqueue(์ค„์ด ๊ธธ์–ด์ง€๋Š” ์ƒํƒœ) ํ•  ๋•Œ๋งˆ๋‹ค tail++; dequeue(์•ž์‚ฌ๋žŒ๋ถ€ํ„ฐ ๋ฒ„์Šค์— ํƒ€์„œ ์ค„์ด ์งง์•„์ง€๋Š” ์ƒํƒœ) ํ•  ๋•Œ๋งˆ๋‹ค head++;์„ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ํ•˜์ง€๋งŒ ๋ฐฐ์—ด์„ ์•„์ฃผ ํฌ๊ฒŒ ์žก์ง€ ์•Š๋Š” ๊ฒฝ์šฐ, ํ์˜ ๋ฐฐ์—ด ํฌ๊ธฐ ๋งˆ์ง€๋ง‰๊นŒ์ง€ head๊ฐ€ ๋„๋‹ฌํ•˜์—ฌ ์•ž์ชฝ์˜ ๋นˆ ๋ฐฐ์—ด(head๊ฐ€ ๊ฑฐ์ณ์ง€๋‚˜๊ฐ„)๋“ค์„ ์žฌํ™œ์šฉํ•  ์ˆ˜ ์—†์–ด ๋ฉ”๋ชจ๋ฆฌ๋‚ญ๋น„๊ฐ€ ์‹ฌํ•œ ํŽธ์ด๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ์›ํ˜•ํ๋ฅผ ์“ด๋‹ค๋ฉด ์„ ํ˜• ํ์— ๋น„ํ•˜์—ฌ ๋™์ผํ•œ ๋ฐฐ์—ด์ด์ง€๋งŒ ๊พธ์ค€ํ•˜๊ฒŒ head๊ฐ€ ๊ฑฐ์ณ์ง€๋‚˜๊ฐ„ ์ธ๋ฑ์Šค..

    ๋ฐฐ์—ด ํšŒ์ „, ์ •์  ๋ฐฐ์—ด ๋‚ด์—์„œ ํŠน์ • ์›์†Œ๋ฅผ ์„ ํƒํ•œ ์œ„์น˜๋กœ ์ด๋™ํ•˜๊ณ  ์‹ถ์„ ๋•Œ

    ๋ฐฐ์—ด ์ •๋ณด์™€ ์ธ๋ฑ์Šค ์ •๋ณด๊ฐ€ ๋‘๊ฐœ๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ํŠน์ • ์›์†Œ์˜ ์›๋ž˜ ์ธ๋ฑ์Šค์™€ ์›์†Œ๋ฅผ ๋ณด๋‚ด๊ณ  ์‹ถ์€ ์œ„์น˜์˜ ์ธ๋ฑ์Šค์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‘ ์ธ๋ฑ์Šค ์‚ฌ์ด๋ฅผ for๋ฌธ์œผ๋กœ ๋Œ๋ฉด์„œ ๋ฐฐ์—ด์„ ํ•œ์นธ์”ฉ ๋‹น๊ฒจ์ค˜์•ผํ•˜๋Š” ๋‹ค์†Œ ๋ฒˆ๊ฑฐ๋กœ์šด ์ž‘์—…์ด ํ•„์š”ํ•˜๋‹ค. ์•„๋ž˜ ์ฝ”๋“œ๋Š” 8๋ฒˆ์งธ ์ˆซ์ž๋ฅผ 2๋ฒˆ์งธ ์œ„์น˜๋กœ ๋ณด๋‚ด๊ณ  ์‹ถ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๊ณ  ์ž‘์„ฑํ•œ ๊ฒƒ์ด๋‹ค. #include #include using namespace std; void ratate(array& arr, int wantPos, int target) { int last = arr[t]; for (int i = t; i > s; i--) { arr[i] = arr[i-1]; } arr[s] = last; } int main() { array arr = {1,2,3,4,5,6,7,8,9,10}; ratate(..

    [c++] ์‚ฝ์ž… ์ •๋ ฌ

    ์‚ฝ์ž… ์ •๋ ฌ์ด๋ž€ ์ˆซ์ž๋ฅผ ์›ํ•˜๋Š” ์œ„์น˜๋ฅผ ์ฐพ์•„๊ฐ€์„œ ์‚ฝ์ž…ํ•˜๋Š” ์ •๋ ฌ์ด๋‹ค. ํ•„์š”ํ•œ ๋งŒํผ๋งŒ ์›€์ง์—ฌ์„œ ์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” n์˜ ์ œ๊ณฑ์ด๋ผ๋Š” ์ ์—์„œ ๋™์ผํ• ์ง€๋ผ๋„ ์—ฐ์‚ฐ์ˆ˜๊ฐ€ ์ ์œผ๋ฏ€๋กœ ๋ฒ„๋ธ” ์ •๋ ฌ์ด๋‚˜ ์„ ํƒ ์ •๋ ฌ๋ณด๋‹ค ๋น ๋ฅด๋‹ค. 2 6 4 9 8 1 3 5 7 ๋ผ๋Š” 9๊ฐœ์˜ ์ˆซ์ž๋ฅผ ํ•œ ๋ฐฐ์—ด์— ๋‹ด๊ณ  ์‚ฝ์ž… ์ •๋ ฌ์„ ํ™œ์šฉํ•ด ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ๋ฐ”๊พธ๋Š” ์‹œ๋ฎฌ๋ ˆ์ด์…˜์„ ํ•ด๋ณด์ž. ์ œ์ผ ์•ž ์ˆซ์ž๋ฅผ 0๋ฒˆ์งธ ์ธ๋ฑ์Šค, ๋งˆ์ง€๋ง‰ ์ˆซ์ž๋ฅผ 8๋ฒˆ์งธ ์ธ๋ฑ์Šค๋ผ ๊ฐ€์ •ํ•œ๋‹ค. 2 6 4 9 8 1 3 5 7 //2 6 -> 4->2 ๋ชจ๋‘ ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ๋น„๊ตํ•˜๋‹ค๊ฐ€ ๋งจ ์•ž ์ •์ฐฉ ) 1 2 4 6 8 9 3 5 7 //ํ˜„์žฌ ์ƒํ™ฉ(๋ถˆ์™„์ „ํ•˜์ง€๋งŒ ์ •๋ ฌ์ด ์ฐจ์ธฐ ๋˜๊ณ  ์žˆ์Œ) 1 2 _ 4 6 8 9 '3' 5 7 //3์„ 4 ์•ž์— ๋„ฃ์ž. (9-> 8-> 6-> 4 ๋ชจ๋‘ ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ๋น„๊ตํ•˜๋‹ค๊ฐ€ 4 ์•ž ์ •์ฐฉ) ..