๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Algoritm/Patttern

[์ •๋ ฌ] ์„ ํƒ์ •๋ ฌ, ๋ฒ„๋ธ”์ •๋ ฌ, ์‚ฝ์ž…์ •๋ ฌ

by ๐Ÿ’œautumn 2020. 7. 1.

* ์ •๋ ฌ 

  : ์™„์„ฑ๋œ ๋ชจ์–‘์€ ๋™์ผํ•˜๋‚˜ ์ •๋ ฌ๋˜๋Š” ๊ณผ์ •์ด ๋‹ค์–‘ํ•จ

  : ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐฐ์—ด์— ์ €์žฅํ•˜์—ฌ ์ฒจ์ž๋ฅผ ํ™œ์šฉ

  : ๋น„๊ต๋Š” ํ•œ๋ฒˆ์— ๋”ฑ ๋‘๊ฐœ๋งŒ ๊ฐ€๋Šฅ

  : ํšŒ์ „ = ๊ฐ’ ํ•˜๋‚˜๊ฐ€ ์ œ์ž๋ฆฌ๋ฅผ ์ฐพ์•„๊ฐ€๋Š” ๊ณผ์ •

  : ๋ฐ์ดํ„ฐ์˜ ์–‘, ์ •๋ ฌ ์ˆ˜์ค€ ๋“ฑ์— ๋”ฐ๋ผ ์ ์ ˆํ•œ ์ •๋ ฌ ๋ฐฉ๋ฒ•์„ ์„ ํƒ

  : ์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ ๊ธฐ์ค€์€ ๋Š˜ ์™ผ์ชฝ

 

 

 

1) ์„ ํƒ์ •๋ ฌ 

    : ํšŒ์ „์ˆ˜์™€ ๊ฐ™์€ ๋ณ€ํ•˜๋Š” ์ˆซ์ž๋Š” ๋ฐ˜๋“œ์‹œ ๋ณ€์ˆ˜ ์‚ฌ์šฉ

    : ๋ฐ์ดํ„ฐ๊ฐœ์ˆ˜ = n๊ฐœ

    : ์™ธ๋ถ€ํšŒ์ „(๊ธฐ์ค€) = 1 ~ (n-1)๋ฒˆ = i [์™ธ๋ถ€,์•ž์ชฝ์˜ ๋ฐ˜๋ณต์ฒจ์ž]

    : ๋‚ด๋ถ€ํšŒ์ „ = (i+1) ~ n๊นŒ์ง€ ๊ฐ’์„ ๋น„๊ตํ•˜์—ฌ ๊ต์ฒด(๊ตํ™˜)

    : ๊ตํ™˜์€ ํ•œ๋ฒˆ์— ํ•œ๊ฐœ์”ฉ๋ฐ–์— ๋ชปํ•˜๊ธฐ ๋•Œ๋ฌธ์— temp(์ž„์‹œ๊ณต๊ฐ„)ํ•„์š”

    : ์˜ค๋ฆ„์ฐจ์ˆœ ๊ธฐ์ค€ ์•ž์—์„œ๋ถ€ํ„ฐ ์ •๋ ฌ๋˜๋ฉฐ, ๋„์ค‘์— ์ •๋ ฌ์ด ์™„์„ฑ๋˜์–ด๋„ ๋ฐ˜๋“œ์‹œ ๋ฐ˜๋ณตํšŒ์ˆ˜๋ฅผ ๋‹ค ์ฑ„์šธ๋•Œ๊นŒ์ง€ ์ข…๋ฃŒํ•  ์ˆ˜ ์—†๋‹ค.

 

 

 

 

2) ๋ฒ„๋ธ”์ •๋ ฌ

   : ์ด์›ƒํ•œ ๋ฐ์ดํ„ฐ์™€๋งŒ ๊ฐ’ ๋น„๊ต ๋ฐ ๊ตํ™˜

   : ๋ฒ„๋ธ”์ •๋ ฌ์€ ๋„์ค‘์— ์ •๋ ฌ์ด ์™„์„ฑ๋˜๋ฉด ํšŒ์ „์ˆ˜๋ฅผ ๋‹ค ์ฑ„์šฐ์ง€ ์•Š๊ณ ๋„ ์ข…๋ฃŒ ๊ฐ€๋Šฅ

   : ํ•œํšŒ์ „ ๋™์•ˆ ๊ตํ™˜์ด ์ผ์–ด๋‚˜์ง€ ์•Š์œผ๋ฉด ๋„์ค‘์— ์ •๋ ฌ์ด ์™„์„ฑ๋˜๋Š” ๊ฒƒ์œผ๋กœ ํŒ๋‹จ [ํšŒ์ „ ๋‹น ๊ตํ™˜์—ฌ๋ถ€ ์ฒดํฌ Flag๋ณ€์ˆ˜ ์‚ฌ์šฉ]

   : ์˜ค๋ฆ„์ฐจ์ˆœ ๊ธฐ์ค€ ๋’ค์—์„œ๋ถ€ํ„ฐ ์ œ์ž๋ฆฌ๋กœ ์ž๋ฆฌํ•œ๋‹ค.

   : ํšŒ์ „์ˆ˜= (๋ฐ์ดํ„ฐ์ˆ˜-1)

   : ํšŒ์ „์ˆ˜+๋น„๊ตํšŸ์ˆ˜=N

   : ๊ธฐ์ค€ i → ๋น„๊ต๋Œ€์ƒ (i+1)

 

 

 

 

 

3) ์‚ฝ์ž…์ •๋ ฌ

   : ๋ฌด์ž‘์œ„ ๋ฐ์ดํ„ฐ ์ •๋ ฌ์‹œ

   : ์ •๋ ฌ๋œ ๊ฐ’์˜ ๋ฆฌ์ŠคํŠธ์™€ ์ •๋ ฌํ•ด์•ผํ•˜๋Š” ๊ฐ’์˜ ๋ฆฌ์ŠคํŠธ ์กด์žฌ

   : ์ •๋ ฌ ์•ˆ๋œ ๋ฆฌ์ŠคํŠธ์—์„œ ๋ฐ์ดํ„ฐ ํ•˜๋‚˜๋งŒ ์ฝ์–ด์™€์„œ ์ œ์ž๋ฆฌ์— ์‚ฝ์ž…ํ•˜์—ฌ ์ •๋ ฌ

   : ํšŒ์ „์ˆ˜ = (๋ฐ์ดํ„ฐ๊ฐœ์ˆ˜-1)

   : ๋น„๊ต์ˆœ์„œ = (ํšŒ์ „์ˆ˜--)

 

๋Œ“๊ธ€