๋ชฉ๋กTotal (69)

suvera-dev ๐Ÿฅฆ

Design Pattern ) ๋””์ž์ธํŒจํ„ด ๊ฐœ์š” 2ํŽธ

๋””์ž์ธ ํŒจํ„ด ๊ฐœ์š” 2ํŽธ์„ ์“ฐ๊ฒŒ ๋œ ์ด์œ ๋Š” ๋””์ž์ธ ํŒจํ„ด์— ๋Œ€ํ•œ ํฌ์ŠคํŒ…์„ ๋ช‡ ๊ฐœ ๋ณด๋‹ค๊ฐ€ ์ •๋ฆฌํ•˜๊ณ  ์‹ถ์€ ๋‚ด์šฉ์„ ๋ฐœ๊ฒฌํ–ˆ๊ธฐ ๋•Œ๋ฌธ ! ใ…Ž [Design-Pattern-In-Swift] 3. ๋””์ž์ธ ํŒจํ„ด์„ ํ†ตํ•ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ• ์ด๋ฒˆ 3์žฅ์€ GoF์˜ ๋””์ž์ธ ํŒจํ„ด 1.6์žฅ ~ 1.8์žฅ์„ ์žฌ๊ตฌ์„ฑํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค! ์ด์ œ ์„œ๋ก ์€ 3์žฅ์—์„œ ๋งˆ๋ฌด๋ฆฌํ•˜๊ณ  - ๋‹ค์Œ์žฅ๋ถ€ํ„ฐ๋Š” ์‹ค์งˆ์ ์œผ๋กœ ๋””์ž์ธํŒจํ„ด์„ ์–ด๋–ป๊ฒŒ Swift์— ์ ์šฉ ํ•  ์ˆ˜ ์žˆ๋Š”์ง€์— ๋Œ€ํ•ด ๋‹ค๋ค„๋ณด๋ ค i-colours-u.tistory.com ์ด ๊ธ€์„ ๋ฐ”ํƒ•์œผ๋กœ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ๋””์ž์ธํŒจํ„ด ์ค‘ ์ƒ์„ฑํŒจํ„ด ๋จผ์ € ๊ณต๋ถ€ํ•˜๊ธฐ ์œ„ํ•ด ์ฐพ์•„๋ณด๋‹ค๋ณด๋‹ˆ ํด๋ž˜์Šค์™€ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“œ๋Š” ๊ณผ์ •์„์บก์Šํ™”ํ•œ๋‹ค. ์ด๋Ÿฐ์‹์œผ๋กœ ๋งŽ์ด ์–˜๊ธฐ๋ฅผ ํ•˜๋”๋ผ๊ตฌ์š” ๊ทธ๋ž˜์„œ ํด๋ž˜์Šค, ๊ฐ์ฒด, ์บก์Šํ™” ์ด๋Ÿฐ ๊ฐœ๋…๋“ค์„ ์งš๊ณ  ๋„˜์–ด๊ฐ€์ขŒ .. ๊ณ ๋Ÿฐ ๋Š๋‚Œ์ž…..

iOS/Design Pattern 2022. 5. 5. 17:18
Design Pattern) ์ƒ์„ฑํŒจํ„ด #1 - ํŒฉํ† ๋ฆฌ ํŒจํ„ด

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

iOS/Design Pattern 2022. 5. 5. 17:17
Algorithm) Dynamic Programming ๋ฌธ์ œ

1. 1๋กœ ๋งŒ๋“ค๊ธฐ ์ •์ˆ˜ X๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ ์ •์ˆ˜X์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์—ฐ์‚ฐ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด 4๊ฐ€์ง€ ์ด๋‹ค. 1) X๊ฐ€ 5๋กœ ๋‚˜๋ˆ„์–ด๋–จ์–ด์ง€๋ฉด, 5๋กœ ๋‚˜๋ˆˆ๋‹ค. 2) X๊ฐ€ 3์œผ๋กœ ๋‚˜๋ˆ„์–ด๋–จ์–ด์ง€๋ฉด, 3์œผ๋กœ ๋‚˜๋ˆˆ๋‹ค. 3) X๊ฐ€ 2๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋ฉด, 2๋กœ ๋‚˜๋ˆˆ๋‹ค. 4) X์—์„œ 1์„ ๋บ€๋‹ค. ์ •์ˆ˜ X๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์—ฐ์‚ฐ 4๊ฐœ๋ฅผ ์ ์ ˆํžˆ ์‚ฌ์šฉํ•ด์„œ 1์„ ๋งŒ๋“ค๋ ค๊ณ  ํ•œ๋‹ค. ์—ฐ์‚ฐ์„ ์‚ฌ์šฉํ•˜๋Š” ํšŸ์ˆ˜์˜ ์ตœ์†Ÿ๊ฐ’์„ ์ถœ๋ ฅํ•˜์„ธ์š” ๋ฌธ์ œํ’€์ด ๋‹ต์•ˆ x = int(input()) # DP ํ…Œ์ด๋ธ” ์ดˆ๊ธฐํ™” d = [0] * 30001 # ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ง„ํ–‰ - ๋ณดํ…€์—… for i in range(2, x+1): # ํ˜„์žฌ์˜ ์ˆ˜์—์„œ 1์„ ๋นผ๋Š” ๊ฒฝ์šฐ d[i] = d[i-1] + 1 # ํ˜„์žฌ์˜ ์ˆ˜๊ฐ€ 2๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋Š” ๊ฒฝ์šฐ if i % 2 == 0: d[i] =..

Algorithm/CodingTest - Python 2022. 5. 3. 15:30