์ „์ฒด ๊ธ€ 267

[pattern] Iterator Pattern

ํ•ด๋‹น ๊ธ€์€ ์—ฌ๋Ÿฌ ๋ธ”๋กœ๊ทธ์—์„œ ๋ณด๊ณ  ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ์•„๋ž˜ Refences๋ž€์— ์ฐธ์กฐํ•œ ๋ธ”๋กœ๊ทธ ์ฃผ์†Œ๋“ค์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ํ–‰์œ„ ํŒจํ„ด ๋ฐ˜๋ณต์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๊ฐ์ฒด๋“ค์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ํŒจํ„ดํ™”ํ•œ ๊ฒƒ์œผ๋กœ, ํด๋ž˜์Šค๋‚˜ ๊ฐ์ฒด๋“ค์ด ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ์ฑ…์ž„์„ ๋ถ„์‚ฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ •์˜ํ•œ๋‹ค. ๊ฐ์ฒด์˜ ๊ธฐ๋Šฅ์€ ๋ณ€ํ•˜์ง€ ์•Š์ง€๋งŒ ์ผ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ๋‹ฌ๋ผ์งˆ ๋•Œ๊ฐ€ ์žˆ๋‹ค. ์‘์šฉ ๋ถ„์•ผ์— ๋”ฐ๋ผ ํ–‰์œ„๊ฐ€ ๋‹ค๋ฅธ ๊ฐ์ฒด๋กœ ์˜ฎ๊ฒจ ๊ฐ€๊ฑฐ๋‚˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋Œ€์ฒด๋˜๋Š” ๊ฒฝ์šฐ์ด๋‹ค. ๊ทธ๋Ÿฐ ๊ฒฝ์šฐ ๋Œ€๋ถ€๋ถ„ ์ƒ์† ๊ฐœ๋…์„ ์ด์šฉํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ํ–‰์œ„ ํŒจํ„ด์€ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ํ–‰์œ„ ๊ด€๋ จ ํŒจํ„ด์„ ์‚ฌ์šฉํ•˜์—ฌ ๋…๋ฆฝ์ ์œผ๋กœ ์ผ์„ ์ฒ˜๋ฆฌํ•˜๊ณ ์ž ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. ์ฆ‰ ํ–‰์œ„ ํŒจํ„ด์€ ๋ฉ”์‹œ์ง€ ๊ตํ™˜๊ณผ ๊ด€๋ จ๋œ ๊ฒƒ์œผ๋กœ, ๊ฐ์ฒด๋“ค ๊ฐ„์˜ ํ–‰์œ„๋‚˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋“ฑ๊ณผ ๊ด€๋ จ๋œ ํŒจํ„ด์„ ๋งํ•œ๋‹ค.[๋„ค์ด๋ฒ„ ์ง€์‹๋ฐฑ๊ณผ] Gof ๋””์ž์ธ ํŒจํ„ด (์‰ฝ๊ฒŒ ๋ฐฐ์šฐ๋Š” ์†Œํ”„ํŠธ..

CS 2022.06.05

[Book] ๊ฐ์ฒด์ง€ํ–ฅ๊ณผ ๋””์ž์ธํŒจํ„ด_์บก์Šํ™”(encapsulation)

[๊ฐ์ฒด์ง€ํ–ฅ๊ณผ ๋””์ž์ธํŒจํ„ด] ์บก์Šํ™”(encapsulation) ์š”์ฆ˜ ์ถœ๊ทผ๊ธธ์— ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ฐ˜๋“œ์‹œ ์ •๋ณตํ•ด์•ผํ•  ๊ฐ์ฒด์ง€ํ–ฅ๊ณผ ๋””์ž์ธํŒจํ„ด์„ ์ฝ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์•„์ง ์ดˆ๋ฐ˜๋ถ€๋ฅผ ์ฝ๋Š” ์ค‘์ธ๋ฐ ์ฑ…์„ ์ฝ๋‹ค ๋ณด๋‹ˆ ์บก์Šํ™”์— ๋Œ€ํ•ด์„œ ์„ค๋ช…์ด ๋˜์–ด ์žˆ๋”๊ตฐ์š”. ๊ณฐ๊ณฐํžˆ ์ƒ๊ฐํ•ด๋ณด๋‹ˆ ์ €๋Š” ์บก์Šํ™”์— ๋Œ€ํ•ด์„œ ์ƒ์„ธํ•˜๊ฒŒ ์•Œ๊ณ  ์žˆ์ง€ ์•Š์€ ์ƒํƒœ์˜€์Šต๋‹ˆ๋‹ค! ์บก์Šํ™” == '๋ฉ”์†Œ๋“œ๋กœ ๋นผ๊ธฐ' ์ •๋„๋กœ๋งŒ ์ธ์ง€ํ•˜๊ณ  ์žˆ๋”๊ตฐ์š”. ๊ทธ๋ž˜์„œ ์ฑ…์— ๋‚˜์™€ ์žˆ๋Š” ๋‚ด์šฉ์„ ๋ฐ”ํƒ•์œผ๋กœ ์บก์Šํ™”์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์บก์Šํ™” ๊ฐ์ฒด ์ง€ํ–ฅ์„ ์ฒ˜์Œ ์ ‘ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์€ ๋ฌด์‹ฌ๊ฒฐ์— ๋ฐ์ดํ„ฐ ์ค‘์‹ฌ์ ์ธ ์ ˆ์ฐจ ์ง€ํ–ฅ ๋ฐฉ์‹ ์Šต๊ด€์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์งœ๋Š” ์Šต๊ด€์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์Šต๊ด€์„ ๊ณ ์น˜๋Š”๋ฐ ๋„์›€์ด ๋˜๋Š” ๋‘ ๊ฐœ์˜ ๊ทœ์น™์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ์บก์Šํ™”๋ฅผ ์œ„ํ•œ ๋‘ ๊ฐœ์˜ ๊ทœ์น™ Tell, Don't Ask ๋ฐ๋ฏธํ…Œ๋ฅด..

TIL 2022.06.02

[pattern]Decorator pattern

[pattern]Decorator pattern ์ด ๋ธ”๋กœ๊ทธ ๊ธ€์€ [Design Pattern] ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ ํŒจํ„ด์ด๋ž€ ๊ธ€์„ ๋‚˜๋ฆ„๋Œ€๋กœ ๊ฐ„๋žตํ•˜๊ฒŒ ๊ฐ„์ถ”๋ ค์„œ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ์ž์„ธํ•œ ์‚ฌํ•ญ์ด ๊ถ๊ธˆํ•˜์‹  ๋ถ„๋“ค์€ ์œ„์˜ ๋งํฌ ํ˜น์€ ํ•˜๋‹จ์˜ References๋ฅผ ํ™•์ธํ•ด ์ฃผ์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค. Decorator Pattern ๊ฐ์ฒด์˜ ๊ฒฐํ•ฉ ์„ ํ†ตํ•ด ๊ธฐ๋Šฅ์„ ๋™์ ์œผ๋กœ ์œ ์—ฐํ•˜๊ฒŒ ํ™•์žฅ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ํŒจํ„ด์œผ๋กœ ๊ธฐ๋ณธ ๊ธฐ๋Šฅ์— ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์˜ ์ข…๋ฅ˜๊ฐ€ ๋งŽ์€ ๊ฒฝ์šฐ์— ๊ฐ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์„ Decorator ํด๋ž˜์Šค๋กœ ์ •์˜ ํ•œ ํ›„ ํ•„์š”ํ•œ Decorator ๊ฐ์ฒด๋ฅผ ์กฐํ•ฉํ•จ์œผ๋กœ์จ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์˜ ์กฐํ•ฉ์„ ์„ค๊ณ„ ํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ ํŒจํ„ด์„ ํ™œ์šฉํ•˜๋ฉด ํ•„์š” ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์˜ ์กฐํ•ฉ์„ ๋™์ ์œผ๋กœ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ ๊ตฌ์กฐ(Decorator๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์„ ์‹œ) ..

CS 2022.05.15

[java]์ƒ์†๋ณด๋‹ค๋Š” ์ปดํฌ์ง€์…˜์„ ์‚ฌ์šฉํ•˜๊ธฐ

์Šคํ„ฐ๋””์—์„œ ๋””์ž์ธํŒจํ„ด์˜ composite ํŒจํ„ด์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐ ํ•˜๋‹ค ์ƒ์†๋ณด๋‹ค๋Š” ์ปดํฌ์ง€์…˜์„ ์‚ฌ์šฉํ•˜๋ผ๋ผ๋Š” ๋ง์ด ๋‚˜์™”์Šต๋‹ˆ๋‹ค. ์ด๊ฒŒ ๋ฌด์Šจ๋ง์ธ๊ฐ€ ์‹ถ์–ด ๋‹ค๋ฅธ ๋ถ„์˜ ๊ฐ„๋‹จํ•œ ์„ค๋ช…์„ ๋“ฃ๊ธด ํ–ˆ์ง€๋งŒ ์ž˜ ์™€๋‹ฟ์ง€ ์•Š๋”๊ตฐ์š”. ๊ทธ๋Ÿฌ๋˜ ์ค‘ ๋ณธ์ธ์ด ๊ณต๋ถ€ํ–ˆ๋˜ ๋งํฌ๋ฅผ ๋‚จ๊ฒจ ์ฃผ์…”์„œ ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์—ญ์‹œ ๊ธ€๋กœ ์ฝ์–ด์„œ๋„ ์ œ๋Œ€๋กœ ์™€๋‹ฟ์ง€ ์•Š์•„ ์ฝ์€ ๋‚ด์šฉ์„ ์กฐ๊ธˆ ์ •๋ฆฌํ•˜๋ฉด์„œ ์ž‘์„ฑํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ class Engine {} // The Engine class. class Automobile {} // Automobile class which is parent to Car class. class Car extends Automobile { // Car is an Automobile, so Car class extends Automobile class. ..

Languages/java 2022.05.09

[pattern]Builder pattern ์•Œ์•„๋ณด๊ธฐ

builder ํŒจํ„ด์„ ์˜ˆ์ „์—๋„ ๋ช‡๋ฒˆ ๋“ค์–ด๋ณด๊ธด ํ–ˆ์ง€๋งŒ ๊ด€์‹ฌ์žˆ๊ฒŒ ์‚ดํŽด ๋ณธ ๊ฒƒ์€ ํ•œ๋‘๋‹ฌ? ์ „์œผ๋กœ ์˜ค๋ž˜๋˜์ง€ ์•Š์•˜๋„ค์š”. ์ €๋Š” builder ํŒจํ„ด์ด๋ž€ ๊ฐœ๋…์ด ์ต์ˆ™ํ•ด์ง€๊ธฐ๊นŒ์ง€ ํ•œ๋‹ฌ ์ •๋„์˜ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฐ ๋“ฏ ํ•ฉ๋‹ˆ๋ฐใ… ใ… (๋ฐ”๋ณด...) ์‹œ๊ฐ„๋‚ ๋•Œ ์งฌ์งฌ์ด ๊ฒ€์ƒ‰ํ•ด ๋ณด๊ณ  ๋ชจ๋ฅด๋Š” ๋ถ€๋ถ„์„ ์ฃผ๋ณ€์— ๋ฌผ์–ด๊ฐ€๋ฉด์„œ ์กฐ๊ธˆ์”ฉ ์ต์ˆ™ํ•ด ์ง„ ๋“ฏ ํ•ฉ๋‹ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” ์ „ํ˜€ ์ดํ•ด๊ฐ€ ๋˜์ง€ ์•Š์•„ ์ฐธ ๊ณ ์ƒ์„ ๋งŽ์ด ํ–ˆ์—ˆ๋Š”๋ฐ ๋ง์ด์ฃ !! ํšŒ์‚ฌ์—์„œ๋„ ์ง์ ‘ ์จ๋ณด๊ณ  (builder ํŒจํ„ด ์ž‘์„ฑ์„ ํšŒ์‚ฌ์—์„œ ์˜ค๋Š˜ ์ฒ˜์Œ ํ•ด๋ณธ๊ฑด ๋น„๋ฐ€ใ…Žใ…Ž) ๋ช‡๋ฒˆ ๋ณด๋‹ค๋ณด๋‹ˆ ์Šฌ์Šฌ ์ต์ˆ™ํ•ด ์ ธ์„œ ๊ธ€์„ ์ž‘์„ฑํ•ด์„œ ์ •๋ฆฌํ•ด ๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋ถ€์กฑํ•œ ๋ถ€๋ถ„์ด ์žˆ๋‹ค๋ฉด ๋ฐ”๋กœ๋ฐ”๋กœ ์ˆ˜์ • ๋ฐ˜์˜ํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค~ ๋ฐœ๋‹จ ์ถœ์ฒ˜: https://refactoring.guru/design-patterns/builder ์œ„์˜ ์ด๋ฏธ์ง€์™€ ๊ฐ™์ด ํ•˜..

CS 2022.04.23

[DesignPattern] Factory pattern ์•Œ์•„๋ณด๊ธฐ

ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์‹œ์ž‘ํ•œ์ง€ ์–ด๋Š๋ง 1๋…„์ด ๋„˜์—ˆ๋„ค์š”. ๊ทธ๋ ‡์ง€๋งŒ ์ œ๋Œ€๋กœ๋œ ๋””์ž์ธ ํŒจํ„ด์— ๋Œ€ํ•œ ๊ณต๋ถ€๋ฅผ ํ•ด๋ณธ ์ ์ด ์—†๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์–ด ์Šคํ„ฐ๋””๋ฅผ ์‹œ์ž‘ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ์ค‘ ์ฒซ์ฃผ์ œ์ธ factoryMethod pattern์„ ๊ณต๋ถ€ํ•˜๋ ค๋‹ค ๋ณด๋‹ˆ factory pattern์ด ๋‹ค์–‘ํ•œ pattern(Singleton, Builder)์˜ base๊ฐ€ ๋˜๋”๊ตฐ์š”. ๊ทธ๋ž˜์„œ factory pattern์— ๋Œ€ํ•ด ์šฐ์„ ์ ์œผ๋กœ ์ •๋ฆฌ๋ฅผ ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋“ค์–ด๊ฐ€๊ธฐ์— ์•ž์„œ ์ถ”์ƒํด๋ž˜์Šค์™€ ์ถ”์ƒ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•ด ์•Œ๊ณ  ๊ฐ€๋ฉด ์ดํ•ดํ•˜๊ธฐ ์กฐ๊ธˆ ๋” ํŽธํ•  ๋“ฏ ํ•ฉ๋‹ˆ๋‹ค. ์ •๋ฆฌํ•œ ์ฝ”๋“œ๊ฐ€ ๋ณด๊ณ ์‹ถ์œผ์‹  ๋ถ„์€ ์•„๋ž˜ ๋งํฌ๋ฅผ ํ™•์ธํ•ด ์ฃผ์„ธ์š”. GitHub: Factory pattern ํŒจํ‚ค์ง€ Factory pattern Client ์ธก์—์„œ factory๋ฅผ ํ†ตํ•ด ๊ฐ„๋‹จํ•˜๊ฒŒ ์›ํ•˜๋Š” Object..

CS 2022.04.17

[Notion] ๋…ธ์…˜์—์„œ git repo ๋ชจ์•„๋ณด๊ธฐ

ํŠน์ •ํ•œ git repo๋“ค์˜ ์ตœ๊ทผ ์ปค๋ฐ‹ ๋‚ด์—ญ๋“ค์„ ํ•œ๋ˆˆ์— ๋ณด๊ณ  ์‹ถ์€ ์ƒ๊ฐ์ด ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์ €๋Š” notion๊ณผ typora๋ฅผ ์ข…์ข… ์‚ฌ์šฉํ•˜๋Š”๋ฐ notion์— github ์—ฐ๋™ ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ๋‹ค๋Š” ์ด์•ผ๊ธฐ๋ฅผ ๋“ฃ๊ณ  ํ•œ๋ฒˆ ๊ฒ€์ƒ‰ํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋งค์šฐ ๊ฐ„๋‹จํ•˜๋„ค์š”. ๋งŒ์•ฝ notion์„ ๋งค์ผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด git repo๋“ค๋งŒ ๋ชจ์•„ ๋ณด๋Š” page๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ๋„ ์ข‹์€ ๋ฐฉ๋ฒ•์ธ ๋“ฏ ํ•ฉ๋‹ˆ๋‹ค. List notion์—์„œ github ๊ณ„์ • ์—ฐ๋™ํ•˜๊ธฐ ์ƒ์„ฑํ•œ ํŽ˜์ด์ง€์—์„œ ํ•ด๋‹น ์ฃผ์†Œ ๋ณต์‚ฌํ•ด์„œ ๋ถ™์—ฌ๋„ฃ๊ธฐ 1. notion์—์„œ github ๊ณ„์ • ์—ฐ๋™ํ•˜๊ธฐ ์ขŒ์ธก ์ƒ๋‹จ์˜ ๋ฉ”๋‰ด -> My connected apps์—์„œ github ์—ฐ๋™์„ ์„ ํƒํ•ด ์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. github ์ด์™ธ์—๋„ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์•ฑ๋“ค์ด ์กด์žฌํ•˜๋‹ˆ ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์ด ์žˆ๋‹ค๋ฉด ์—ฐ๋™ํ•˜์‹œ๋ฉด ..

Tools 2022.04.16

[Cookie]SameSite๋ž€? None, Lax, Strict

์ง€์ธ ์ค‘ ํ•œ๋ถ„์ด cookie์— ๊ด€ํ•˜์—ฌ ๊ธ€์„ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ๊ธ€์„ ์ฝ๋‹ค ๋ณด๋‹ˆ ๋ชจ๋ฅด๋Š” ๋ถ€๋ถ„์ด ๋งŽ์ด ๋‚˜์˜ค๋”๊ตฐ์š”. ๊ทธ๋ž˜์„œ ๊ทธ ๋ถ€๋ถ„์— ๊ด€ํ•ด ๊ฐ„๋žตํ•˜๊ฒŒ ์ •๋ฆฌํ•ด ๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. Cookie ์ฟ ํ‚ค๋ž€ ๋ธŒ๋ผ์šฐ์ €์— ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ์ˆ˜๋‹จ ์ค‘ ํ•˜๋‚˜๋กœ์„œ ๋ธŒ๋ผ์šฐ์ € -> ์„œ๋ฒ„๋กœ ์š”์ฒญ์„ ์ „์†กํ•  ๋•Œ ํ•ด๋‹น ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต์— Set-Cookie ํ—ค๋”๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉด ๋ธŒ๋ผ์šฐ์ €๋Š” ์ด Set-Cookie์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š”๋ฐ ์ด๊ฒƒ์„ cookie๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. Set-Cookie: ...์œ„์™€ ๊ฐ™์€ ํ˜•ํƒœ๋กœ Response Header์— ํ‘œ์‹œ๋˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” ์‹ค์ œ ๊ฐœ๋ฐœ์ž๋„๊ตฌ์—์„œ ํ™•์ธํ•œ ๋ชจ์Šต ์ž…๋‹ˆ๋‹ค. ์ฟ ํ‚ค๋Š” ๋ณดํ†ต ์„œ๋ฒ„์—์„œ ์‚ฌ์šฉ์ž๋ฅผ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•œ ์ˆ˜๋‹จ์œผ๋กœ ์‚ฌ์šฉ๋˜์–ด์ง€๋ฉฐ, ์ดํ›„ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์„œ๋ฒ„๋กœ ์š”์ฒญ์„ ๋ณด๋‚ผ ๋•Œ Cookie ํ—ค๋”์˜ ..

CS 2022.04.03

[LeetCode] Remove Element๋ฌธ์ œ์˜ Reference์— ๊ด€ํ•˜์—ฌ

์˜ค๋žœ๋งŒ์— leetCode easy ๋‹จ๊ณ„๋ฅผ ํ‘ธ๋Š” ๋„์ค‘์— stream์— ๊ด€๋ จํ•œ(stream์ธ์ง€ .toArray์ธ์ง€ ๋ชจ๋ฅด๊ฒ ๊ตฐ์š”.) ์žฌ๋ฐŒ์žˆ๋Š” ์‚ฌ์‹ค(์ €๋งŒ ๋ชฐ๋ž๊ฒ ์ฃ ..? )์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์— ๊ด€ํ•ด ๊ธ€์„ ์ž‘์„ฑํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. leetcode ๋ฌธ์ œ ๋งํฌ์ž…๋‹ˆ๋‹ค. ๋ฌธ์ œ class Solution { public void static main(String[args){ int nums[] = new int[]{3,2,2,3}; int val = 3; removeElement(nums, val); ... // nums ๊ฒ€์‚ฌ for (int i = 0; i < expectedNums[i].length; i++) { assert nums[i] == expectedNums[i]; } } // logic ๊ตฌํ˜„ public int r..

Languages/java 2022.03.27

[Book]๊ฐ์ฒด์ง€ํ–ฅ์˜ ์‚ฌ์‹ค๊ณผ ์˜คํ•ด_01

์ถ”์ฒœ ๋„์„œ์— ์กด์žฌํ•˜๋Š” ์ฑ…๋“ค์„ ํ•˜๋‚˜์”ฉ ์ฝ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ถœ๊ทผ ์‹œ๊ฐ„์ด ์•ฝ 1์‹œ๊ฐ„ ์ •๋„ ๋˜๊ธฐ์— ์ฒ˜์Œ์—๋Š” ์ธํ„ฐ๋„ท ๊ฐ•์˜๋ฅผ ๋งค์ผ ๋“ค์—ˆ๋Š”๋ฐ... ์ œ๊ฐ€ ๋ฌด์ œํ•œ์ด ์•„๋‹ˆ๋ผใ…  ํž˜๋“ค๋”๊ตฐ์š”!! ๊ทธ๋ž˜์„œ ์†์„ ๋†“๊ณ  ์žˆ์—ˆ๋˜ ์ฑ…์„ ์ฝ๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค! ์ง€์ธ๋ถ„์ด ์„ ๋ฌผํ•ด์ฃผ์‹  ํ•จ๊ป˜์ž๋ฆฌ๊ธฐ(์• ์ž์ผ๋กœ๊ฐ€๋Š”๊ธธ)๋ฅผ ์‹œ์ž‘์œผ๋กœ ์ถ”์ฒœ ๋„์„œ ๋ฆฌ์ŠคํŠธ์— ์žˆ๋Š” ์ฑ…๋“ค์„ ๋ชจ๋‘ ์ฝ์œผ๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ฝ๋Š” ๋„์ค‘ ์ค‘๊ฐ„์ค‘๊ฐ„ ๋Š๋‚€ ์ ๋“ค, ์˜๋ฌธ์ ๋“ค ๋“ฑ์„ ๋…ํ›„๊ฐ ์‹์œผ๋กœ ์ž‘์„ฑ์„ ํ• ๊นŒ ํ•ฉ๋‹ˆ๋‹ค. ์ง€๊ทนํžˆ ์ฃผ๊ด€์ ์ธ ๊ด€์ ์ด๊ณ  ์ƒ๊ฐ์ด๋‹ˆ ๋งŒ์•ฝ ์ €์™€ ๋‹ค๋ฅธ ์˜๊ฒฌ์„ ๊ฐ€์ง€๊ณ  ๊ณ„์‹œ๋‹ค๋ฉด ์–ธ์ œ๋“ ์ง€ ๋‹ต๊ธ€ ๋‚จ๊ฒจ ์ฃผ์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค. ์€์œ ์™€ ๊ฐ์ฒด(p.66) ๋‘๋ฒˆ์งธ ๋„์‹œ์ „์„ค "๊ฐ์ฒด์ง€ํ–ฅ์ด๋ž€ ํ˜„์‹ค ์„ธ๊ณ„์˜ ๋ชจ๋ฐฉ"์— ๊ด€ํ•˜์—ฌ ๊ธ€์„ ์ž‘์„ฑํ•œ ๋ถ€๋ถ„์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ž‘๊ฐ€๋‹˜(์กฐ์˜ํ˜ธ๋‹˜)์€ ์ฑ…์€ ์•„์ง ๋‹ค ์ผ์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค ใ… ใ… ... "์•ˆํƒ€๊น๊ฒŒ..

728x90
๋ฐ˜์‘ํ˜•