IND2X

분할 정복 [Divide & Conquer]

분할 정복 분할정복법은 주어진 문제를 작은 사례로 나누고(Divide) 각각의 작은 문제들을 해결하여 정복 (Conquer)하는 방법. 문제의 사례를 2개 이상의 더 작은 사례로 나눔. 이 작은 사례는 주로 원래 문제에서 따옴. 나눈 작은 사례의 해답을 바로 얻을 수 있으면 해를 구하고 아니면 더 작은 사례로 나눔. 해를 구할 수 있을 만...

매개변수 탐색 [Parametric Search]

매개변수 탐색 조건을 만족하는 최대값을 구하는 알고리즘. 이진 탐색을 이용하는데 여기선 배열 내에서 특정한 값을 찾는게 아니라 조건을 만족하는 최대값을 찾아야 된다는 점을 유의해야 함. 중요한 점은 start, end 변수의 정의를 설정하는 것임. start는 조건을 무조건 충족하는 값, end는 조건을 무조건 충족 못하는 값 sta...

이진 탐색 [Binary Search]

이진 탐색 데이터가 정렬된 배열에서 특정한 값을 찾는 알고리즘. 데이터의 중간에 있는 값을 선택하여 특정 값 x와 비교하고 x가 중간 값보다 작으면 중간 값을 기준으로 좌측의 데이터들을 대상으로 탐색 x가 중간값보다 크면 배열의 우측을 대상으로 탐색 탐색할 범위를 찾았으면 동일한 방법으로 다시 중간의 값을 임의로 선택하고 비교. ...

에라토스테네스의 체 [Sieve of Eratosthenes]

에라토스테네스의 체 특정 숫자의 배수는 소수가 아니라는 법칙에 착안하여 2 ~ N까지의 숫자에서 숫자들의 배수를 모두 제거한 뒤 제거되지 않은 숫자를 소수로 판별하는 방식임. 즉, 2부터 시작해서 2는 남겨두고 2의 배수를 모두 없앰. (소수는 1과 자기 자신만을 약수로 하니까) 그 다음 3은 남겨두고 3의 배수를 모두 없앰. 동일한 방식을...