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

์ž๋ฐ”2

2. Arrays ๋ฐฐ์—ด์ด๋ž€? ๊ฐ™์€ ํƒ€์ž…์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฐ์†๋œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ์œ„์น˜ํ•ด ์ธ๋ฑ์Šค๋กœ ๊ฐ’์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค. ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋Š” ์ƒ์„ฑํ•  ๋•Œ ์ •ํ•ด์ง€๋ฉฐ ํ•œ ๋ฒˆ ์ƒ์„ฑํ•˜๋ฉด ์‚ฌ์ด์ฆˆ๋Š” ๊ณ ์ •์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋‹ค. ๋งŒ์•ฝ ๋™์  ๋ฐฐ์—ด์ด ํ•„์š”ํ•  ๊ฒฝ์šฐ, ์ž๋ฐ”์—์„œ๋Š” ArrayList๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค(c++์—์„œ๋Š” vector). ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ํŒ ๐Ÿ—๏ธ ๋ฐฐ์—ด์€ ๋‚˜์ค‘์— ์–ด๋ ค์šด ๋ฌธ์ œ๋ฅผ ํ’€ ๋•Œ ๊ธฐ๋ณธ์œผ๋กœ ์•Œ๊ณ  ์žˆ์–ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐฐ์—ด ๊ด€๋ จ ์ฝ”๋“œ๋Š” ์‰ฝ๊ณ  ๋น ๋ฅด๊ฒŒ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์„ ๋งŒํผ ์ต์ˆ™ํ•ด์ ธ์•ผ ํ•œ๋‹ค. ๋ฐฐ์—ด๊ด€๋ จ ๋ฌธ์ œ๋Š” ์ข…๋ฅ˜๋„ ๋‹ค์–‘ํ•˜๊ณ  ๋‚œ์ด๋„๊ฐ€ ์ฒ˜์Œ ์ ‘ํ•˜๋ฉด ์ƒ๊ฐ๋ณด๋‹ค ์–ด๋ ค์šด ๋ฌธ์ œ๋“ค์ด ๋งŽ๋‹ค. prefix sum, sliding window, two pointer ๊ฐ™์€ ๊ฐœ๋…์„ ๋ฐฐ์—ด ๋ฌธ์ œ๋ฅผ ํ’€ ๋•Œ ์•Œ์•„๋‘๋ฉด ์ข‹๊ณ , HashMap๋„ ๋งŽ์ด ํ™œ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ•ด์‹œ๋งต์˜ ๋ฉ”์†Œ๋“œ๋ฅผ.. 2024. 3. 2.
Lambdas and Stream Streams API ๋‹ค๋ฅธ ๊ฐ์ฒด๋ฅผ ํฌํ•จํ•˜๋Š” ์ปฌ๋ ‰์…˜์ด๋ผ๋„ ์šฐ๋ฆฌ๊ฐ€ ์–ป๊ณ ์ž ํ•˜๋Š” ์ •๋ณด๋Š” ๋น„์Šทํ•  ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, '์ด๋Ÿฌํ•œ ์กฐ๊ฑด์— ๋งž๋Š” ์•„์ดํ…œ์„ ์ค˜', '์ด๋Ÿฌํ•œ ๋ฐฉ๋ฒ•์„ ํ™œ์šฉํ•ด์„œ ๋ชจ๋“  ์•„์ดํ…œ์„ ๋ฐ”๊ฟ”์ค˜, ' '์ค‘๋ณต๋œ ๋ฐ์ดํ„ฐ๋Š” ์ง€์›Œ์ค˜', ๋˜๋Š” '์ด๋Ÿฐ ๋ฐฉ๋ฒ•์œผ๋กœ ์š”์†Œ๋“ค์„ ์ •๋ ฌํ•ด ์ค˜' ๋“ฑ์„ ์ปฌ๋ ‰์…˜์— ์š”์ฒญํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ด ๋ณด์ž. ์šฐ๋ฆฌ๋Š” ์ด๋Ÿฌํ•œ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด for๋ฌธ๊ณผ Iterator๋ฅผ ์ด์šฉํ•ด์„œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ฑฐ๋‚˜ ๊ฐ ์ปฌ๋ ‰์…˜ ํด๋ž˜์Šค์— ๋งž๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด ์™”๋‹ค. List๋ฅผ ์ •๋ ฌํ•  ๋•Œ๋Š” Collections.sort()๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ๋ฐฐ์—ด์„ ์ •๋ ฌํ•  ๋•Œ๋Š” Arrays.sort()๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค. Streams API๋Š” ๋ฐ์ดํ„ฐ ์†Œ์Šค๋ฅผ ์ถ”์ƒํ™” ํ•ด์„œ ๋ฐ์ดํ„ฐ ์†Œ์Šค๊ฐ€ ๋ฌด์—‡์ด๋“  ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋Š” ๋ฉ”์†Œ๋“œ๋ฅผ ์ œ๊ณตํ•ด ์ค€๋‹ค. ๊ทธ๋ž˜์„œ ์šฐ.. 2023. 1. 19.