Stay Hungry Stay Foolish

알고리즘 2

[알고리즘] 에라토스테네스의 체

에라토스테네스의 체란? 소수를 찾는 방법으로, 고대 그리스 수학자 에라토스테네스가 발견했다. 이 알고리즘을 사용하지 않고 단순히 소수를 구하려고 할 때 시간이 오래 걸리므로 소수를 구하고자 할 때 에라토스테네스의 체 알고리즘을 사용하는 것이 훨씬 효율적이다. Alogrithm 2부터 소수를 구하고자 하는 구간의 모든 수를 나열한다. 그림에서 회색 사각형으로 두른 수들이 여기에 해당한다. 2는 소수이므로 오른쪽에 2를 쓴다. (빨간색으로 표시) 자기 자신을 제외한 2의 배수를 모두 지운다. (선홍색으로 표시) 남아있는 수 가운데 2의 다음인 3은 소수이므로 오른쪽에 3을 쓴다. (초록색으로 표시) 자기 자신을 제외한 3의 배수를 모두 지운다. (연초록으로 표시) 위의 과정을 반복하면 구하고자 하는 구간의 ..

알고리즘 2023.09.23

Brute Force (완전 탐색 알고리즘)

Brute Force란? Brute : 신체적인 힘[폭력]에만 의존하는, 짐승같은 Force : 힘 Brute-Force : '온전히 힘으로만 모든 것을 다 해보겠다'라는 의미로 해석할 수 있다. ▷ 정리하면, 모든 경우의 수를 탐색하는 알고리즘이다. 그런 점에서 '완전 탐색 알고리즘'이라고도 한다. 특징 - 암호를 해킹할 때 주로 사용되었다. - 조합 가능한 모든 것을 하나씩 대입해 보는 방식이다. - 오래 걸리고 자원이 많이 들어가지만, 하나씩 다 해보기 때문에 100%의 정확도를 보장한다. ※ 코딩테스트에 단순히 이 알고리즘을 푸는 문제가 나오는 것이 아닌 모든 문제마다 부분적으로 필요할 수도 있다. 종류 선형 구조 : Sequential Search 비선형 구조 : Backtracking, DFS..

알고리즘 2022.08.05