[c++] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค :: ๊ฐ€์žฅ ๋จผ ๋…ธ๋“œ (๋ฌธ์ œ ํ’€์ด, ์ฝ”๋“œ)
Algorithm ๋ฌธ์ œ/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 2020. 7. 31. 13:12

๊ฐ€์žฅ ๋จผ ๋…ธ๋“œ https://programmers.co.kr/learn/courses/30/lessons/49189 ์ฝ”๋“œ #include #include #include #include #include using namespace std; int solution(int n, vector edge) { int answer = 0; map linked_list; set list; list.insert(1); // ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ ๋งŒ๋“ค๊ธฐ int size = edge.size(); for(int i=0; i

[c++] ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฐœ๋…๊ณต๋ถ€ :: ์ž๋ฃŒ๊ตฌ์กฐ - ๊ตฌ์กฐ์ฒด
์ปดํ“จํ„ฐ๊ณผํ•™ (CS)/Algorithm 2020. 7. 28. 14:22

๊ตฌ์กฐ์ฒด ๊ตฌ์กฐ์ฒด๋Š” ๋ฐฐ์—ด๊ณผ๋Š” ๋‹ค๋ฅด๊ฒŒ ๋‹ค๋ฅธ ์ž๋ฃŒํ˜•์˜ ๋ณ€์ˆ˜๋“ค์„ ๋ชจ์•„์„œ ํ•˜๋‚˜์˜ ๋‹จ์œ„๋กœ ํ‘œํ˜„ํ•˜๋Š” ์ž๋ฃŒํ˜•์ด๋‹ค. ์šฉ๋„ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ๋‚˜ ๊ทธ๋ž˜ํ”„์—์„œ ๋…ธ๋“œ๋ฅผ ๋‚˜ํƒ€๋‚ผ ๋•Œ, ๋ฐ์ดํ„ฐ์™€ ํฌ์ธํ„ฐ ๋ถ€๋ถ„์ด ์กด์žฌํ•œ๋‹ค. ๊ตฌ์กฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ์ดํ„ฐ์™€ ํฌ์ธํ„ฐ ๋ถ€๋ถ„์„ ๊ฐ๊ฐ ๊ตฌ์„ฑํ•˜์—ฌ ํ•˜๋‚˜์˜ ์ž๋ฃŒํ˜•์œผ๋กœ ๋งŒ๋“ค์–ด์ค„ ์ˆ˜ ์žˆ๋‹ค. ์ด ๋•Œ, ํฌ์ธํ„ฐ๋Š” ํ•ด๋‹น ๊ตฌ์กฐ์ฒด์˜ ํฌ์ธํ„ฐํ˜•์ด๋ฏ€๋กœ ์ด ๊ตฌ์กฐ์ฒด๋Š” ์ž์ฒด ์ฐธ์กฐ ๊ตฌ์กฐ์ฒด๊ฐ€ ๋œ๋‹ค. C++ struct Node { int value; Node* pointer; // ์ž์ฒด ์ฐธ์กฐ ๊ตฌ์กฐ์ฒด }; int main() { Node A; // ๊ตฌ์กฐ์ฒด ์„ ์–ธ A.value = 4; Node* Ap = A.pointer; // . ์—ฐ์‚ฐ์ž๋กœ ์ ‘๊ทผ int Avalue = A.value; Ap = A; Avalue = Ap->value; // ํฌ์ธํ„ฐ๋กœ ..

[c++] ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฐœ๋…๊ณต๋ถ€ :: ์ž๋ฃŒ๊ตฌ์กฐ - ์„œ๋ก 
์ปดํ“จํ„ฐ๊ณผํ•™ (CS)/Algorithm 2020. 7. 28. 14:14

์„œ๋ก  ์ž๋ฃŒ๊ตฌ์กฐ ์ž๋ฃŒ๊ตฌ์กฐ๋Š” ์ปดํ“จํ„ฐ์—์„œ ์ž๋ฃŒ๋ฅผ ์ •๋ฆฌํ•˜๊ณ  ์กฐ์งํ™”ํ•˜๋Š” ๋‹ค์–‘ํ•œ ๊ตฌ์กฐ๋ฅผ ๋งํ•œ๋‹ค. ํ”„๋กœ๊ทธ๋žจ์€ ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์ž๋ฃŒ๊ตฌ์กฐ๋Š” ๋ฐ˜๋“œ์‹œ ๊ณต๋ถ€ํ•ด์•ผํ•˜๋Š” ๋ถ„์•ผ์ด๋‹ค. ์ž๋ฃŒ๊ตฌ์กฐ๋Š” ๋จผ์ € ๋‹จ์ˆœ ์ž๋ฃŒ๊ตฌ์กฐ์™€ ๋ณตํ•ฉ ์ž๋ฃŒ๊ตฌ์กฐ๋กœ ๊ตฌ๋ถ„๋˜๊ณ , ๋ณตํ•ฉ ์ž๋ฃŒ๊ตฌ์กฐ์—๋Š” ์„ ํ˜• ๊ตฌ์กฐ์™€ ๋น„์„ ํ˜• ๊ตฌ์กฐ๊ฐ€ ์žˆ๋‹ค. ์ˆœ์ฐจ์ ์œผ๋กœ ์‚ดํŽด๋ณด์ž. ๋ฐฐ์—ด, ๋ฌธ์ž์—ด ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ ์Šคํƒ, ํ, ๋ฑ ๊ทธ๋ž˜ํ”„ ํŠธ๋ฆฌ ํž™ ๊ตฌ์กฐ์ฒด

[c++] ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฐœ๋…๊ณต๋ถ€ :: ์ž๋ฃŒ๊ตฌ์กฐ - ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ
์ปดํ“จํ„ฐ๊ณผํ•™ (CS)/Algorithm 2020. 7. 19. 11:09

์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ ๋ฆฌ์ŠคํŠธ๋ž€? ์ •์˜ ๋ฐฐ์—ด๊ณผ์˜ ๋น„๊ต ์—ฐ์‚ฐ ์‚ฝ์ž… ์‚ญ์ œ ์ ‘๊ทผ ์ข…๋ฅ˜ / ๊ตฌํ˜„ ๋ฆฌ์ŠคํŠธ๋ž€? ๋ฆฌ์ŠคํŠธ๋Š” ์ˆœ์„œ๋ฅผ ๊ฐ€์ง„ ํ•ญ๋ชฉ๋“ค์˜ ๋ชจ์ž„์ด๋‹ค. ์ด๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋Œ€ํ‘œ์ ์ธ ๋ฐฉ๋ฒ•์€ 2๊ฐ€์ง€๊ฐ€ ์žˆ๋Š”๋ฐ, ํ•˜๋‚˜๋Š” ๋ฐฐ์—ด์„ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๊ณ  ๋‚˜๋จธ์ง€ ํ•˜๋‚˜๋Š” ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ๋ฅผ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ๋ฐฐ์—ด์„ ์ด์šฉํ•œ ๋ฆฌ์ŠคํŠธ๋ฅผ ์„ ํ˜•๋ฆฌ์ŠคํŠธ๋ผ๊ณ  ํ•˜๋Š”๋ฐ ๊ตฌํ˜„ ์ž์ฒด๋Š” ๊ฐ„๋‹จํ•˜๊ณ  ์ž„์˜์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, ์‚ฝ์ž… / ์‚ญ์ œ ์—ฐ์‚ฐ ์‹œ ๋‹ค๋ฅธ ์š”์†Œ๋“ค์˜ ์ด๋™์ด ๋ถˆ๊ฐ€ํ”ผํ•˜๋ฏ€๋กœ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ํฌ๋‹ค. ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ๋Š” ๊ตฌํ˜„์ด ๋ณต์žกํ•˜๊ณ  ์ˆœ์ฐจ์ ‘๊ทผ์ด ํ•„์š”ํ•˜์ง€๋งŒ ์‚ฝ์ž…, ์‚ญ์ œ๊ฐ€ ํšจ์œจ์ ์ด๋‹ค. ์ •์˜ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ๋ž€ ์•„๋ž˜์˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ๋ฐ์ดํ„ฐ์™€ ๋งํฌ๋กœ ์ด๋ฃจ์–ด์ง„ ๋…ธ๋“œ๋กœ ๊ตฌ์„ฑ๋˜์–ด์žˆ๋‹ค. ๋งํฌ๋Š” ๋‹ค์Œ ์š”์†Œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ํฌ์ธํ„ฐ์ด๋‹ค. ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ์˜ ์ฒ˜์Œ์—๋Š” ํ—ค๋“œ ํฌ์ธํ„ฐ๊ฐ€ ํ—ค๋“œ ๋…ธ๋“œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ์œผ๋ฉฐ, ๋งˆ์ง€๋ง‰ ๋…ธ๋“œ์˜ ๋งํฌ๋Š” ..