๐ ์๊ณ ๋ฆฌ์ฆ(Algorithm)์ด๋?
์ฃผ์ด์ง ๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํ ๋ช ๋ น์ด๋ฅผ ๋จ๊ณ์ ์ผ๋ก ๋์ดํ ๊ฒ.
์๊ณ ๋ฆฌ์ฆ์ด ์ ์ค์ํ ๊น?
์ปดํจํฐ๋ฅผ ์ด์ฉํ ๋ฌธ์ ํด๊ฒฐ ๋ฅ๋ ฅ์ ์ฃผ์ด์ง ๋ฌธ์ ์ ๋ํ ์๊ณ ๋ฆฌ์ฆ์ ์กด์ฌ ์ ๋ฌด๊ฐ ๊ฒฐ์ ํ๋ค.
ํ์ง๋ง ์ปดํจํฐ๋ฅผ ํตํด ๋ฌธ์ ํด๊ฒฐ์ ํ๊ธฐ ์ํด์ ์๊ณ ๋ฆฌ์ฆ ๊ฐ๊ฐ์ ๋ช ๋ น์ด๋ค์ ์ ํ ์กฐ๊ฑด์ด ์์ด์ผ ํ๋ค.
์๊ณ ๋ฆฌ์ฆ ๋ช ๋ น์ด ์ ํ ์กฐ๊ฑด | |
์ ์ถ๋ ฅ (input & output) | 0๊ฐ ์ด์์ ์ธ๋ถ ์ ๋ ฅ๊ณผ ํ๋ ์ด์์ ์ถ๋ ฅ์ด ์์ด์ผ ํจ |
๋ช ํ์ฑ (definiteness) | ๊ฐ ๋ช ๋ น์ ๋ชจํธํ์ง ์๊ณ ๋จ์ ๋ช ํํด์ผ๋จ |
์ ํ์ฑ (finiteness) | ํ์ ๋ ์์ ๋จ๊ณ๋ฅผ ๊ฑฐ์น ํ์๋ ๋ฐ๋์ ์ข ๋ฃํด์ผ๋จ |
์ ํจ์ฑ (effectiveness) | ๋ชจ๋ ๋ช ๋ น์ ์ปดํจํฐ์์ ์ํ ๊ฐ๋ฅํด์ผ๋จ |
๐ฅ ์ปดํจํฐ ์๊ณ ๋ฆฌ์ฆ(Computer Algorithm)์ด๋?
์ฃผ์ด์ง ๋ฌธ์ ์ ๋ํ ๊ฒฐ๊ณผ๋ฅผ ์์ฑํ๊ธฐ ์ํด ๋ชจํธํ์ง ์๊ณ ๊ฐ๋จํ๋ฉฐ
์ปดํจํฐ๊ฐ ์ํ ๊ฐ๋ฅํ ์ ํ๊ฐ์ ์ผ๋ จ์ ๋ช ๋ น๋ค์ ์์์ ์ผ๋ก ๊ตฌ์ฑํ ๊ฒ.
์์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ์๊ณ ๋ฆฌ์ฆ์ด ์กด์ฌํ๋ค๋ ๊ฒ์ ์กฐ๊ฑด๋๋ก ๊ฒฐ๊ณผ๋ฅผ ์์ฑํ๋ ํ๋ก๊ทธ๋จ์ด ์กด์ฌํ๋ฉฐ ์ปดํจํฐ๋ก ํด๊ฒฐ๋ ์ ์์์ ์๋ฏธํ๋ค. ํ์ง๋ง ์ฒ๋ฆฌ ์๊ฐ์ด ๊ธธ๊ฒ ์๊ตฌ๋๋ ๋ฌธ์ ๋ฑ์ผ๋ก ์ธํด ํจ์จ์ ์ผ๋ก ํ ์ ์๋ ๋ฌธ์ ๋ ์๋ค.
๋ฐ๋ผ์ ์๊ณ ๋ฆฌ์ฆ ์์ฒด๊ฐ ํจ์จ์ ์ด์ด์ผ ํ๋ค๋ ๊ฒ์ด ์ค์ํ ํฌ์ธํธ์ด๋ค.
์ฌ๊ธฐ์์ ์ผ์์ ์ธ ์ธ์ด๋ ๊ฐ ๋จ๊ณ๋ณ๋ก ์ดํดํ๊ธฐ ์ฝ๋๋ก ์ผ๋ฐ์ ์ธ ์ธ์ด๋ก ํ์ด์ด ๋ด์ฉ์ธ๋ฐ ์๋ฅผ ๋ค์ด ์ด๋ ํ ๋ฐฐ์ด์ด ์๊ณ ์ด ๋ฐฐ์ด ๋ด์ ์ต๋๊ฐ์ ๊ตฌํ๋ ๋ฌธ์ ๊ฐ ์ฃผ์ด์ก๋ค๊ณ ํ๋ฉด 1๋ฒ์งธ ๋จ๊ณ๋ก "๋ฐฐ์ด์ ์ ์ผ ์ฒ์ ์ซ์๋ฅผ ์ต๋๊ฐ์ผ๋ก ์ ์ฅํ๋ค."์ ๊ฐ์ด ์์ฑํ๋ค๋ ๊ฒ์ด๋ค. ๊ทธ๋ฆฌ๊ณ ์์๋(flow chart)๋ ์์๋ ๋ํ์ ํ์ฉํ์ฌ ํํํ ๊ฒ์ด๊ณ ์์ฌ ์ฝ๋(pseudo code)๋ ์ผ์์ ์ธ ์ธ์ด์ ํ๋ก๊ทธ๋๋ฐ ๋ฌธ๋ฒ(๊ตฌ๋ฌธ)์ ์์ด ํํํ ๊ฒ์ด๋ค.
'Study > ์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค JAVA] 1๋จ๊ณ / 1000 / A + B (0) | 2020.08.14 |
---|---|
[๋ฐฑ์ค JAVA] 1๋จ๊ณ / 10172 / ๊ฐ (0) | 2020.08.13 |
[๋ฐฑ์ค JAVA] 1๋จ๊ณ / 10171 / ๊ณ ์์ด (0) | 2020.08.12 |
[๋ฐฑ์ค JAVA] 1๋จ๊ณ / 10718 / We love kriii (0) | 2020.08.12 |
[๋ฐฑ์ค JAVA] 1๋จ๊ณ / 2557 / Hello World (0) | 2020.08.12 |
๋๊ธ