[c++] ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฐœ๋…๊ณต๋ถ€ :: ์ •๋ ฌ (์„ ํƒ ์ •๋ ฌ, ๋ฒ„๋ธ” ์ •๋ ฌ, ์‚ฝ์ž… ์ •๋ ฌ)
์ปดํ“จํ„ฐ๊ณผํ•™ (CS)/Algorithm 2020. 8. 16. 19:52

์„ ํƒ ์ •๋ ฌ ๊ฐœ๋… max, min ์ •๋ ฌ์ด๋ผ๊ณ ๋„ ๋ถˆ๋ฆฐ๋‹ค. ์ฒ˜์Œ๋ถ€ํ„ฐ ๋ ์›์†Œ๊นŒ์ง€ ํ›‘์œผ๋ฉด์„œ ์ตœ์†Œ๋‚˜ ์ตœ๋Œ€๋ฅผ ์ฐพ์•„์„œ ๋ฆฌ์ŠคํŠธ์˜ ์ฒ˜์Œ์ด๋‚˜ ๋์— ๋„ฃ๊ณ  ํ•ด๋‹น ์›์†Œ๋ฅผ ์ œ์™ธํ•œ ๋‹ค๋ฅธ ์›์†Œ์— ๋Œ€ํ•ด ๋‹ค์‹œ ์ •๋ ฌ์„ ์‹œํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ๋ฌด์ž‘์œ„๋กœ ์ •๋ ฌ๋œ ๋ฐ์ดํ„ฐ์˜ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ํƒ์ƒ‰ํ•œ ํ›„, ๊ฐ€์žฅ ํฐ ์ˆ˜๋ฅผ ๋ฆฌ์ŠคํŠธ์˜ ๋งˆ์ง€๋ง‰ ์š”์†Œ์™€ ๊ตํ™˜ํ•œ๋‹ค. ๊ทธ ํ›„ ๋งˆ์ง€๋ง‰ ์›์†Œ๋ฅผ ์ œ์™ธํ•œ ์ฑ„๋กœ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ๋ฐ์ดํ„ฐ๋ฅผ ํƒ์ƒ‰ํ•œ ํ›„, ๊ฐ€์žฅ ํฐ ์ˆ˜๋ฅผ ๋ฆฌ์ŠคํŠธ์˜ ๋งˆ์ง€๋ง‰ ์š”์†Œ์™€ ๊ตํ™˜ํ•œ๋‹ค. ๊ตฌํ˜„ ์˜์‚ฌ ์ฝ”๋“œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. (min ์ •๋ ฌ) for i=0 to n: a[i]๋ถ€ํ„ฐ a[n-1]๊นŒ์ง€ ์ฐจ๋ก€๋กœ ๋น„๊ตํ•˜์—ฌ ์ตœ์†Œ๊ฐ’์ด ์žˆ๋Š” a[j]๋ฅผ ์ฐพ๋Š”๋‹ค. a[i]์™€ a[j]๋ฅผ ๋ฐ”๊พผ๋‹ค. (max ์ •๋ ฌ) for i=0 to n: a[0]๋ถ€ํ„ฐ a[n-i-1]๊นŒ์ง€ ์ฐจ๋ก€๋กœ ๋น„๊ตํ•˜์—ฌ ์ตœ๋Œ€๊ฐ’์ด ์žˆ๋Š” ..