Algorithm๐Ÿฅ‡

[์•Œ๊ณ ๋ฆฌ์ฆ˜] ๋ธŒ๋ฃจํŠธ ํฌ์Šค(brute force)

hae02y 2023. 11. 20. 10:06
๋ฐ˜์‘ํ˜•

Brute Force

์˜์–ด๋ฅผ ํ•ด์„ํ•ด๋ณด๋ฉด brute : ์ง์Šน, ๋‚œํญํ•œ  force : ํž˜ ์œผ๋กœ ํ’€์ด๋˜๋Š”๋ฐ, Brute Force๋Š” ์•”ํ˜ธํ•™๊ณผ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ด€์ ์œผ๋กœ ๋‚˜๋ˆ ์„œ ์ดํ•ดํ• ์ˆ˜์žˆ๋‹ค.

 

์•”ํ˜ธํ•™ ๊ด€์ ์—์„œ์˜ brute force attack์€ ์ด๋ก ์ ์œผ๋กœ ์กฐํ•ฉ์ด ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ๋ฌธ์ž๋ฅผ ํ•˜๋‚˜์”ฉ ๋Œ€์ž…ํ•˜์—ฌ ์•”ํ˜ธ๋ฅผ ํ•ด๋…ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

 

์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ด€์ ์—์„œ์˜ brute force search๋Š” ์™„์ „ํƒ์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ด์•ผ๊ธฐํ•œ๋‹ค. ์ด ๋˜ํ•œ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋ชจ๋‘ ํƒ์ƒ‰ํ•˜์—ฌ, ์›ํ•˜๋Š” ์š”๊ตฌ์กฐ๊ฑด์— ์ถฉ์กฑํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ๊ฐ€์ง€๊ณ  ์˜จ๋‹ค. ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋Œ€์ž…ํ•˜๋‹ค๋ณด๋‹ˆ ์˜ˆ์™ธ์—†์ด 100% ํ™•๋ฅ ๋กœ ์ •๋‹ต์„ ์•Œ์ˆ˜์žˆ๋‹ค.

 

์ผ๋ฐ˜์ ์ธ ๋ฐฉ๋ฒ•์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๋ฉด ๋ชจ๋“  ์ž๋ฃŒ๋ฅผ ํƒ์ƒ‰ํ•ด์•ผ ํ•˜๋ฏ€๋กœ ํŠน์ •ํ•œ ๊ตฌ์กฐ๋ฅผ ์ „์ฒด์ ์œผ๋กœ ํƒ์ƒ‰ํ• ์ˆ˜์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ํ•„์š”ํ•˜๊ณ , ์ด๋ฅผ ์œ„ํ•ด ํ•ด๊ฐ€ ์กด์žฌ ํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋˜๋Š” ๋ชจ๋“  ์˜์—ญ์„ ์ „์ฒด ํƒ์ƒ‰ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์„ค๊ณ„ํ•œ๋‹ค.

 

์žฅ์ ๊ณผ ๋‹จ์ 

์žฅ์ 

  • ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์„ค๊ณ„ํ•˜๊ณ  ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด ๋งค์šฐ์‰ฝ๋‹ค.
  • ๋ณต์žกํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์—†์ด ๋น ๋ฅด๊ฒŒ ๊ตฌํ˜„์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

๋‹จ์ 

  • ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์‹คํ–‰์‹œ๊ฐ„์ด ๋งค์šฐ ์˜ค๋ž˜ ๊ฑธ๋ฆฐ๋‹ค.
  • ๋ฉ”๋ชจ๋ฆฌ ํšจ์œจ๋ฉด์—์„œ ๊ต‰์žฅํžˆ ๋น„ํšจ์œจ์ ์ด๋‹ค.

 

์ข…๋ฅ˜

๋ธŒ๋ฃจํŠธ ํฌ์Šค๋Š” ํฌ๊ฒŒ 2๊ฐ€์ง€์˜ ๊ตฌ์กฐ๋กœ ๋‚˜๋ˆŒ์ˆ˜ ์žˆ๋‹ค.

  • ์„ ํ˜•๊ตฌ์กฐ : ์ˆœ์ฐจํƒ์ƒ‰
  • ๋น„์„ ํ˜•๊ตฌ์กฐ : ๋ฐฑํŠธ๋ž˜ํ‚น, DFS, BFS

 

์„ ํ˜•๊ตฌ์กฐ ๋ฌธ์ œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

1. ์ฃผ์–ด์ง„ ๋ฌธ์ œ๋ฅผ ์„ ํ˜• ๊ตฌ์กฐ๋กœ ๊ตฌ์กฐํ™” ํ•œ๋‹ค.

2. ๊ตฌ์กฐํ™”๋œ ๋ฌธ์ œ๊ณต๊ฐ„์„ ์ ์ ˆํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ํ•ด๋ฅผ ๊ตฌ์„ฑํ•  ๋•Œ๊นŒ์ง€ ํƒ์ƒ‰ํ•œ๋‹ค.

3. ๊ตฌ์„ฑ๋œ ํ•ด๋ฅผ ์ •๋ฆฌํ•œ๋‹ค.

 

 

๋น„์„ ํ˜•๊ตฌ์กฐ ๋ฌธ์ œํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

BFS / DFS

 

์ด๊ฐœ๋…์„ ๋ฐ”ํƒ•์œผ๋กœ ๋ฌธ์ œ์— ์ ์šฉํ•ด๋ณด์ž.

๋ฐ˜์‘ํ˜•