๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ193

[๋ฉ”์„œ๋“œ] Stack ํด๋ž˜์Šค ๋ฉ”์„œ๋“œ 2023.11.21 - [๐Ÿ–‹๏ธ ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜/์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ด๋ก ] - [์Šคํƒ] ๋ฐฐ์—ด ๊ธฐ๋ฐ˜ ์Šคํƒ๊ณผ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ ๊ธฐ๋ฐ˜ ์Šคํƒ ์ƒ์„ฑ์ž Stack(): ์„ค๋ช…: ์ƒˆ๋กœ์šด ๋นˆ ์Šคํƒ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. E push(E item): ์„ค๋ช…: ์ง€์ •๋œ ํ•ญ๋ชฉ์„ ์Šคํƒ์˜ ๋งจ ์œ„์— ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฉ”์„œ๋“œ๋Š” Vector ํด๋ž˜์Šค์˜ addElement ๋ฉ”์„œ๋“œ์™€ ๋™์ผํ•œ ํšจ๊ณผ๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค. ๋ฐ˜ํ™˜๊ฐ’: ์Šคํƒ์— ์ถ”๊ฐ€๋œ ํ•ญ๋ชฉ์ž…๋‹ˆ๋‹ค. E pop(): ์„ค๋ช…: ์Šคํƒ์˜ ๋งจ ์œ„์— ์žˆ๋Š” ํ•ญ๋ชฉ์„ ์ œ๊ฑฐํ•˜๊ณ  ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์Šคํƒ์ด ๋น„์–ด ์žˆ์œผ๋ฉด EmptyStackException์„ ๋˜์ง‘๋‹ˆ๋‹ค. ๋ฐ˜ํ™˜๊ฐ’: ์ œ๊ฑฐ๋œ ๋งจ ์œ„์˜ ํ•ญ๋ชฉ์ž…๋‹ˆ๋‹ค. E peek(): ์„ค๋ช…: ์Šคํƒ์˜ ๋งจ ์œ„์— ์žˆ๋Š” ํ•ญ๋ชฉ์„ ์ œ๊ฑฐํ•˜์ง€ ์•Š๊ณ  ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์Šคํƒ์ด ๋น„์–ด ์žˆ์œผ๋ฉด EmptyStackException์„ ๋˜์ง‘๋‹ˆ๋‹ค. ๋ฐ˜.. 2023. 11. 30.
[๋ฉ”์„œ๋“œ] Map ์ธํ„ฐํŽ˜์ด์Šค ๋ฉ”์„œ๋“œ ๋ชจ์Œ 2023.11.14 - [๐Ÿ–ฅ๏ธ ๋ฐฑ์—”๋“œ/Java] - [ch.11] ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ Map int size(): ๋งต์— ์ €์žฅ๋œ ํ‚ค-๊ฐ’ ์Œ์˜ ๊ฐœ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. boolean isEmpty(): ๋งต์ด ๋น„์–ด์žˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๋งต์ด ๋น„์–ด์žˆ์œผ๋ฉด true, ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด false๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. boolean containsKey(Object key): ๋งต์— ํŠน์ • ํ‚ค๊ฐ€ ์กด์žฌํ•˜๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ํ‚ค๊ฐ€ ์กด์žฌํ•˜๋ฉด true, ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด false๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. boolean containsValue(Object value): ๋งต์— ํŠน์ • ๊ฐ’์ด ์กด์žฌํ•˜๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ’์ด ์กด์žฌํ•˜๋ฉด true, ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด false๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. V get(Object key): ์ง€์ •๋œ ํ‚ค์— ์—ฐ๊ฒฐ๋œ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. .. 2023. 11. 30.
Java10๋ถ€ํ„ฐ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ 'var' ํ‚ค์›Œ๋“œ ์Šคํ”„๋ง ์‹œํ๋ฆฌํ‹ฐ๋ฅผ ๊ณต๋ถ€ํ•˜๋‹ค๊ฐ€ JavaScript์—์„œ๋‚˜ ๋ณด๋˜ var ํ‚ค์›Œ๋“œ ๋ฐœ๊ฒฌ... ๋ฐ”๋กœ GPT์™€ ๊ณต๋ถ€ ์‹œ์ž‘ํ–ˆ๋‹ค Q. ์ž๋ฐ”์—์„œ var ์‚ฌ์šฉ๊ฐ€๋Šฅํ•ด?? ๋„ค, Java 10๋ถ€ํ„ฐ var ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ์ปฌ ๋ณ€์ˆ˜์˜ ํƒ€์ž…์„ ์ž๋™์œผ๋กœ ์ถ”๋ก ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์€ "๋กœ์ปฌ ๋ณ€์ˆ˜ ํƒ€์ž… ์ถ”๋ก "์ด๋ผ๊ณ  ํ•˜๋ฉฐ, var๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด Java ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ๋ณ€์ˆ˜์˜ ํƒ€์ž…์„ ์ดˆ๊ธฐํ™”์‹์—์„œ ์œ ์ถ”ํ•ฉ๋‹ˆ๋‹ค. var์˜ ์‚ฌ์šฉ ์˜ˆ์‹œ var number = 10; // int๋กœ ์ถ”๋ก ๋จ var message = "Hello World"; // String์œผ๋กœ ์ถ”๋ก ๋จ var list = new ArrayList(); // ArrayList์œผ๋กœ ์ถ”๋ก ๋จ var๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ์˜ ์ฃผ์˜์  ๋กœ์ปฌ ๋ณ€์ˆ˜์—๋งŒ ์‚ฌ์šฉ var๋Š” ์˜ค์ง ๋ฉ”์„œ๋“œ ๋‚ด๋ถ€์—์„œ ๋กœ์ปฌ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ• .. 2023. 11. 29.
[API] REST API ํ…Œ์ŠคํŒ… ๋„๊ตฌ Talend API Tester REST API ํ…Œ์ŠคํŠธ์— ์œ ์šฉํ•œ Chrome ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ Talend API Tester [์„ค์น˜๋ฐฉ๋ฒ•] 1. Chrome์›น์Šคํ† ์–ด ๋ฐฉ๋ฌธ 2. Talend API Tester ๊ฒ€์ƒ‰ ๋ฐ ์„ค์น˜ 3. ๋น ๋ฅธ ์‚ฌ์šฉ์„ ์œ„ํ•ด ๊ณ ์ • 4. ๊ถŒํ•œ ๋ถ€์—ฌ ํ—ค๋” ์ „์†ก ๋“ฑ ๋‹ค์–‘ํ•œ ์ž‘์—… ๊ฐ€๋Šฅํ•จ 2023. 11. 29.
[API] API ๊ณ ๊ธ‰ ์„ค๊ณ„ - ์ง€์—ฐ ๋กœ๋”ฉ๊ณผ ์กฐํšŒ ์„ฑ๋Šฅ ์ตœ์ ํ™” โŒ ์—”ํ‹ฐํ‹ฐ ์ง์ ‘ ๋…ธ์ถœ @GetMapping("/api/v1/orders") public List ordersV1() { List all = orderRepository.findAll(); for (Order order : all) { order.getMember().getName(); //Lazy ๊ฐ•์ œ ์ดˆ๊ธฐํ™” order.getDelivery().getAddress(); //Lazy ๊ฐ•์ œ ์ดˆ๊ธฐํ™” List orderItems = order.getOrderItems(); orderItems.stream().forEach(o -> o.getItem().getName()); //Lazy ๊ฐ•์ œ ์ดˆ๊ธฐํ™” } return all; } order member ์™€ order address ๋Š” ์ง€์—ฐ ๋กœ๋”ฉ์ด๋‹ค. ๋”ฐ๋ผ์„œ ์‹ค์ œ ์—”.. 2023. 11. 28.
[ํŠธ๋ฆฌ] ๊ท ํ˜• ๊ฒ€์ƒ‰ ํŠธ๋ฆฌ (AVLํŠธ๋ฆฌ, ๋ ˆ๋“œ-๋ธ”๋ž™ํŠธ๋ฆฌ, B-ํŠธ๋ฆฌ) ๊ท ํ˜• ์ด์ง„ ๊ฒ€์ƒ‰ ํŠธ๋ฆฌ ์ตœ์•…์˜ ๊ฒฝ์šฐ์—๋„ ์ด์ง„ ํŠธ๋ฆฌ์˜ ๊ท ํ˜•์ด ์ž˜ ๋งž๋„๋ก ์œ ์ง€ํ•ด์„œ ์ž‘์—…๋“ค์ด ํ•ญ์ƒ O(logn)์‹œ๊ฐ„์„ ๋ณด์žฅํ•จ AVL ํŠธ๋ฆฌ ์ž๊ฐ€ ๊ท ํ˜•, ๋†’์ด ๊ท ํ˜• ์–ด๋–ค ๋…ธ๋“œ๋„ ์ขŒ์„œ๋ธŒ ํŠธ๋ฆฌ์™€ ์šฐ์„œ๋ธŒ ํŠธ๋ฆฌ์˜ ๋†’์ด ์ฐจ๊ฐ€ 1๋ณด๋‹ค ํฌ์ง€ ์•Š์€ ์ƒํƒœ๋กœ ์œ ์ง€๋˜๋Š” ์ด์ง„ ๊ฒ€์ƒ‰ ํŠธ๋ฆฌ ํšŒ์ „ ์—ฐ์‚ฐ ๊ท ํ˜•์ด ๊นจ์ง„ ์„œ๋ธŒ ํŠธ๋ฆฌ ์ค‘ ๊ฐ€์žฅ ๋‚ฎ์€ ๊ณณ์— ์žˆ๋Š” ๊ฒƒ๋ถ€ํ„ฐ ์ˆ˜์„ ์„ ์‹œ์ž‘ํ•จ ๋‹จ์ผํšŒ์ „, ์ด์ค‘ํšŒ์ „ AVLํŠธ๋ฆฌ ์šด์˜ ์‚ฝ์ž…๊ณผ ์‚ญ์ œ ์ƒˆ๋กœ์šด ๋…ธ๋“œ๋ฅผ ์‚ฝ์ž…ํ•˜๊ฑฐ๋‚˜ ๋…ธ๋“œ๋ฅผ ์‚ญ์ œํ•  ๋•Œ, AVL ํŠธ๋ฆฌ๋Š” ๋ถˆ๊ท ํ˜•๋„๋ฅผ ์ฒดํฌํ•˜๊ณ  ํ•„์š”์— ๋”ฐ๋ผ ํšŒ์ „์„ ์ˆ˜ํ–‰ํ•˜์—ฌ ๊ท ํ˜•์„ ์žฌ์กฐ์ • ๋ถˆ๊ท ํ˜•๋„ ์ฒดํฌ ๊ฐ ๋…ธ๋“œ๋Š” ์ž์‹ ์˜ ์™ผ์ชฝ๊ณผ ์˜ค๋ฅธ์ชฝ ์ž์‹ ํŠธ๋ฆฌ์˜ ๋†’์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ถˆ๊ท ํ˜•๋„๋ฅผ ๊ณ„์‚ฐ. ๋ถˆ๊ท ํ˜•๋„๊ฐ€ 1์„ ์ดˆ๊ณผํ•˜๋ฉด ๊ท ํ˜•์ด ๊นจ์ง„ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ ํšŒ์ „ ์œ ํ˜• ๊ท ํ˜•์ด ๊นจ์ง„ ๊ฒฝ์šฐ, LL, RR, LR, RL ๋„ค ๊ฐ€.. 2023. 11. 27.
[ํŠธ๋ฆฌ] ์ƒ‰์ธ๊ณผ ์ด์ง„๊ฒ€์ƒ‰ํŠธ๋ฆฌ ์ƒ‰์ธ ๋ฐ์ดํ„ฐ์˜ ์ €์žฅ๊ณผ ๊ฒ€์ƒ‰์€ ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ถ„์•ผ์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์ฃผ์ œ ์ด ์ž‘์—…์„ ์œ„ํ•จ ํ•ต์‹ฌ ์ธํ”„๋ผ๋Š” ์ƒ‰์ธ์ž„ ์ƒ‰์ธ์€ ๊ฐœ์ฒด์˜ ๋ ˆ์ฝ”๋“œ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ. ๋ ˆ์ฝ”๋“œ์— ๋นจ๋ฆฌ ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ ๋‚ด์žฅ ์ƒ‰์ธ : ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ ค๋†“๊ณ  ์“ฐ๋Š” ์ƒ‰์ธ ์™ธ์žฅ์ƒ‰์ธ : ๋ฉ”๋ชจ๋ฆฌ ๋ฐ”๊นฅ์— ๋†“๊ณ  ์“ฐ๋Š” ์ƒ‰์ธ ex) B-ํŠธ๋ฆฌ ์ƒ‰์ธ์˜ ์ถ”์ƒ ๋ฐ์ดํ„ฐ ํƒ€์ž… ADT ์ƒ‰์ธ์— ํ‚ค X๋ฅผ ์‚ฝ์ž… ์ƒ‰์ธ์—์„œ ํ‚ค X๋ฅผ ๊ฒ€์ƒ‰ ์ƒ‰์ธ์—์„œ ํ‚ค X๋ฅผ ์‚ญ์ œ ์ƒ‰์ธ์ด ๋น„์–ด ์žˆ๋Š”์ง€ ํ™•์ธ ์ƒ‰์ธ์„ ๊นจ๋—์ด ๋น„์šฐ๊ธฐ ์ด์ง„ ๊ฒ€์ƒ‰ ํŠธ๋ฆฌ ๊ฐ ๋…ธ๋“œ๋Š” ์ตœ๋Œ€ 2๊ฐœ๊นŒ์ง€ ๊ฐ€์ง€๋ฅผ ์น  ์ˆ˜ ์žˆ์Œ ๋งจ ์œ„์— ์žˆ๋Š” ๋…ธ๋“œ๋ฅผ ๋ฃจํŠธ๋ผ๊ณ  ํ•จ ํŠน์„ฑ ๊ฐ ๋…ธ๋“œ๋Š” ํ‚ค๊ฐ’์„ ํ•˜๋‚˜์”ฉ ๊ฐ€์ง, ๊ฐ ๋…ธ๋“œ์˜ ํ‚ค๊ฐ’์€ ๋ชจ๋‘ ๋‹ค๋ฆ„ ์ตœ์ƒ์œ„ ๋ ˆ๋ฒจ์˜ ๋ฃจํŠธ ๋…ธ๋“œ๊ฐ€ ์žˆ๊ณ , ๊ฐ ๋…ธ๋“œ๋Š” ์ตœ๋Œ€ 2๊ฐœ์˜ ์ž์‹ ๋…ธ๋“œ๋ฅผ ๊ฐ€์ง ์ž„์˜ ๋…ธ๋“œ์˜ ํ‚ค๊ฐ’์€ ์ž์‹ ์˜ ์™ผ์ชฝ ์•„.. 2023. 11. 27.