LILDB

๐Ÿข ์ž‘์—…

1. ๋ฌธ์ œ ๋งํฌ 2056๋ฒˆ: ์ž‘์—… 2. ์ฝ”๋“œ """ [2056] ์ž‘์—… ๐Ÿ’› ๋ฌธ์ œ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•  ์ž‘์—… N๊ฐœ (3 โ‰ค N โ‰ค 10000)๊ฐ€ ์žˆ๋‹ค. ๊ฐ๊ฐ์˜ ์ž‘์—…๋งˆ๋‹ค ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„(1 โ‰ค ์‹œ๊ฐ„ โ‰ค 100)์ด ์ •์ˆ˜๋กœ ์ฃผ์–ด์ง„๋‹ค. ๋ช‡๋ช‡ ์ž‘์—…๋“ค ์‚ฌ์ด์—๋Š” ์„ ํ–‰ ๊ด€๊ณ„๋ผ๋Š” ๊ฒŒ ์žˆ์–ด์„œ, ์–ด๋–ค ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ˜๋“œ์‹œ ๋จผ์ € ์™„๋ฃŒ๋˜์–ด์•ผ ํ•  ์ž‘์—…๋“ค์ด ์žˆ๋‹ค. ์ด ์ž‘...

๐Ÿข ์Šคํ‚ฌํŠธ๋ฆฌ

1. ๋ฌธ์ œ ๋งํฌ ์Šคํ‚ฌํŠธ๋ฆฌ 2. ์ฝ”๋“œ """ ์Šคํ‚ฌํŠธ๋ฆฌ ๐Ÿ’› ๋ฌธ์ œ ์„ ํ–‰ ์Šคํ‚ฌ์ด๋ž€ ์–ด๋–ค ์Šคํ‚ฌ์„ ๋ฐฐ์šฐ๊ธฐ ์ „์— ๋จผ์ € ๋ฐฐ์›Œ์•ผ ํ•˜๋Š” ์Šคํ‚ฌ์„ ๋œปํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์„ ํ–‰ ์Šคํ‚ฌ ์ˆœ์„œ๊ฐ€ ์ŠคํŒŒํฌ โ†’ ๋ผ์ดํŠธ๋‹ ๋ณผํŠธ โ†’ ์ฌ๋”์ผ๋•Œ, ์ฌ๋”๋ฅผ ๋ฐฐ์šฐ๋ ค๋ฉด ๋จผ์ € ๋ผ์ดํŠธ๋‹ ๋ณผํŠธ๋ฅผ ๋ฐฐ์›Œ์•ผ ํ•˜๊ณ , ๋ผ์ดํŠธ๋‹ ๋ณผํŠธ๋ฅผ ๋ฐฐ์šฐ๋ ค๋ฉด ๋จผ์ € ์ŠคํŒŒํฌ๋ฅผ ๋ฐฐ์›Œ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์œ„ ์ˆœ์„œ์— ์—†๋Š” ๋‹ค๋ฅธ ์Šคํ‚ฌ...

๐Ÿน 11. Recursion & Dynamic programming

08. ์žฌ๊ท€์™€ ๋™์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์žฌ๊ท€์™€ ๊ด€๋ จ๋œ ๋ฌธ์ œ๋“ค์€ ์ƒ๋‹น์ˆ˜๋Š” ํŒจํ„ด์ด ๋น„์Šทํ•˜๋‹ค. ์ฃผ์–ด์ง„ ๋ฌธ์ œ๊ฐ€ ์žฌ๊ท€ ๋ฌธ์ œ์ธ์ง€ ํ™•์ธํ•ด ๋ณด๋Š” ๋ฐฉ๋ฒ•์€, ํ•ด๋‹น ๋ฌธ์ œ๋ฅผ ์ž‘์€ ํฌ๊ธฐ์˜ ๋ฌธ์ œ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š”์ง€ ๋ณด๋Š” ๊ฒƒ์ด๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฌธ์žฅ์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋ฌธ์ œ๋Š” ์žฌ๊ท€๋กœ ํ’€๊ธฐ ์ ๋‹นํ•œ ๋ฌธ์ œ์ผ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๋‹ค.(ํ•ญ์ƒ ๊ทธ๋Ÿฐ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค.) โ€œn๋ฒˆ์งธ โ€ฆ๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์„ค๊ณ„ํ•˜๋ผโ€...

๐ŸฆŠ 11. Recursion & Dynamic programming

11. Recursion & Dynamic programming ์ ‘๊ทผ๋ฒ• ์žฌ๊ท€์  ํ•ด๋ฒ•์€, ๋ถ€๋ถ„๋ฌธ์ œ์— ๋Œ€ํ•œ ํ•ด๋ฒ•์„ ํ†ตํ•ด ์™„์„ฑ๋œ๋‹ค. ์ƒํ–ฅ์‹ ์ ‘๊ทผ๋ฒ• (Bottom-up) ์ƒํ–ฅ์‹ ์ ‘๊ทผ๋ฒ•์€ ๊ฐ€์žฅ ์ง๊ด€์ ์ธ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค. ์ด ์ ‘๊ทผ๋ฒ•์€ ๊ฐ„๋‹จํ•œ ๊ฒฝ์šฐ๋“ค์— ๋Œ€ํ•œ ํ’€์ด๋ฒ•์„ ๋ฐœ๊ฒฌํ•˜๋Š” ๊ฒƒ์œผ๋กœ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด ์ด์ „์— ํ’€์—ˆ๋˜ ์‚ฌ๋ก€๋ฅผ ํ™•์žฅํ•˜์—ฌ ๋‹ค์Œ ํ’€์ด๋ฅผ ์ฐพ๋Š”๋‹ค. ํ•˜ํ–ฅ...

๐Ÿน 10. Object Oriented Design

07. ๊ฐ์ฒด ์ง€ํ–ฅ ์„ค๊ณ„ [ ์ ‘๊ทผ๋ฒ• ] ๋‹จ๊ณ„ #1: ๋ชจํ˜ธ์„ฑ์˜ ํ•ด์†Œ ๊ฐ์ฒด ์ง€ํ–ฅ ์„ค๊ณ„(OOD) ๊ด€๋ จ ๋ฌธ์ œ๋“ค์€ ๋Œ€๊ฒŒ ๊ณ ์˜์ ์œผ๋กœ ๋ชจํ˜ธ์„ฑ์„ ๋„๊ณ  ์žˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ๋ฉด์ ‘๊ด€๋“ค์€ ์Šค์Šค๋กœ ๊ฐ€์ •์„ ๋งŒ๋“ค์–ด๋‚ด๊ณ  ์งˆ๋ฌธ์„ ํ†ตํ•ด ๋ช…ํ™•ํžˆ ํ•ด๋‚˜๊ฐ€๋Š” ๊ณผ์ •์„ ์‚ดํŽด๋ณด๊ณ  ์‹ถ์–ดํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๊ฒฐ๊ตญ, ๋ฌด์—‡์„ ๊ฐœ๋ฐœํ•ด์•ผ ํ•˜๋Š”์ง€ ์ดํ•ดํ•˜์ง€ ๋ชปํ•œ ์ƒํƒœ์—์„œ ์ฝ”๋”ฉ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ๊ฐœ๋ฐœ์ž๋Š” ํšŒ์‚ฌ์˜ ์‹œ๊ฐ„๊ณผ ๋ˆ...

๐ŸฆŠ 10. Object Oriented Design

10. Object Oriented Design ์ ‘๊ทผ๋ฒ• ๋‹จ๊ณ„ #1 : ๋ชจํ˜ธ์„ฑ์˜ ํ•ด์†Œ ๊ฐ์ฒด ์ง€ํ–ฅ ์„ค๊ณ„ ๊ด€๋ จ ๋ฌธ์ œ๋“ค์€ ๋Œ€๊ฒŒ ๊ณ ์˜์ ์œผ๋กœ ๋ชจํ˜ธ์„ฑ์„ ๋„๊ณ  ์žˆ๋‹ค. ๋ˆ„๊ฐ€ ๊ทธ๊ฒƒ์„ ์‚ฌ์šฉํ•  ๊ฒƒ์ด๋ฉฐ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•  ๊ฒƒ์ธ์ง€์— ๋Œ€ํ•œ ์งˆ๋ฌธ์„ ๋˜์ ธ์•ผ ํ•œ๋‹ค. ์–ด๋–ค ์šฉ๋„๋กœ ์“ฐ์ด๋Š๋ƒ์— ๋”ฐ๋ผ ์„ค๊ณ„ ์ž์ฒด๊ฐ€ ์™„์ „ํžˆ ๋’ค๋ฐ”๋€๋‹ค. ๋‹จ๊ณ„ #2 : ํ•ต์‹ฌ ๊ฐ์ฒด์˜ ์„ค๊ณ„ ์‹œ์Šคํ…œ์— ๋„ฃ์„ ํ•ต์‹ฌ ...

๐Ÿฃ chap11. null ๋Œ€์‹  Optional ํด๋ž˜์Šค

๊ฐ’์ด ์—†๋Š” ์ƒํ™ฉ์„ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ• ๊นŒ? ๋‹ค์Œ ์ฝ”๋“œ์—์„œ๋Š” ์–ด๋–ค ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ• ๊นŒ? public String getCarInsuranceName(Person person) { return person.getCar().getInsurance().getName(); } ์ฝ”๋“œ์—์„œ ์ž๋™์ฐจ๋ฅผ ์†Œ์œ ํ•˜์ง€ ์•Š์€ ์‚ฌ๋žŒ์ด๋ผ๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ? ์ž๋™์ฐจ๋Š” ์†Œ์œ ํ•˜๊ณ  ์žˆ์ง€๋งŒ ๋ณด...