반응형

Algorithm 5

Josephus Problem

문제 >로마시대의 유대인 역사학자 플라비우스 요세푸스(Flavius Josephus)는 그의 저서 "유대 전쟁사"에서 그가 로마군에 포위된 동굴에서 41 명의 유대전사들 중에서 살아남은 이야기를 서술하고 있다. 유대전사들은 로마군에게 항복하느니 자살을 하겠다고 결정하고 모든 전사를 원형으로 배치시킨 다음 특정 위치부터 시작하여 원형을 따라 매 세번째 위치한 전사들 순서로 자살하기로 하였다. 이러한 자살 결정에 내심 반대하던 요세푸스와 다른 한 명의 동료는 제일 마지막으로 남는 두 자리의 위치를 재빠르게 계산하여 살아 남았다고 한다. 요세푸스 문제(Josephus problem)는 이렇게 41명을 원형으로 배치시키고 특정 위치를 1번이라고 하고 원형을 따라 순서대로 번호를 부여할 때, 마지막으로 살아남은 ..

Algorithm 2022.12.11

Kolakoski sequence

문제 >(1), (2, 2), (1, 1), (2) 네개의 패턴만으로 이루어진 sequence 이다.초기 sequence는 1, 2, 2 로 설정i 번째 반복 에서 시퀀스의 i 번째 값 으로 이미 출력된 x(i) 값을 읽는 알고리즘i>=3일때, i 가 홀수이면 숫자 1의 x(i) 개 복사본을 출력하고 i 가 짝수이면 숫자 2의 x(i) 개를 출력한다. x(i) 는 sequence에서 빨간색으로, 추가된 sequence에는 파란색으로 표기하였다.ix(i)sequence111221, 2, 2321, 2, 2, 1, 1411, 2, 2, 1, 1, 2511, 2, 2, 1, 1, 2, 1621, 2, 2, 1, 1, 2, 1, 2, 2 입력 >테스트케이스 입력값이 주어진 후 테스트케이스 갯수만큼의 i 의 값이..

Algorithm 2022.12.11

Canonical Cycle

문제 >배열을 입력받아서 정규표현식으로 표현하게끔 함.정규 표현식은 아래와 같은 규칙을 따른다.하나의 숫자로 만들어진 사이클도 다 표시한다.각 사이클에서 가장 작은 수를 사이클의 제일 앞에 둔다.여러 개의 사이클을 표시할 때는 사이클의 제일 앞 숫자가 감소하는 순서로 표기한다.3 4 6 2 5 1 이라는 배열을 예시로 들어보겠음.123456346251해당 배열은 ( 1, 3, 6 ) ( 2, 4 ) ( 5 ) 로 나누어 지게 됨.왜냐면, 1번은 3번을 가리키고, 3번은 6번을 가리키고, 6번은 1번을 가리키고 있으니 ( 1, 3, 6 ) 사이클이 만들어 짐2번은 4번을 가리키고, 4번도 2번을 가리키고 있음. -> ( 2, 4 ) 사이클임5번은 5번을 가리키고 있으니까 혼자만 뱅글뱅글 도는 ( 5 ) 사..

Algorithm 2022.12.05

Golomb sequence

문제 >수학자 솔로몬 골롬(Solomon Golomb)의 이름을 붙인 골름 수열(Golomb sequence)은 단조 증가하는 정수의 수열 G(n) (n = 1,2, ...)으로서 숫자 n이 정확하게 G(n)번 나타나는 수열이다. 예를 들어, n= 20까지의 G(n)은 다음과 같다.n1234567891011121314151617181920G(n)12233444555666677778골롬 수열은 G(1) = 1부터 시작하는 자체 생성하는(self-generating) 수열의 한 종류로서 다음과 같은 방법으로 수열에 속하는 숫자들을 차례로 생성한다.G(1) = 1이고 수업의 정의에 의하여 1은 1번만 나타나야 하므로 수열에서 다음에는 숫자 2가 나타나야 한다. 즉, G(2) = 2여야 한다.G(2) = 2이므..

Algorithm 2022.12.03

Image Filtering

문제 > 이미지 필터링은 이미지에 존재하는 노이즈를 제거하거나 혹은 이미지로부터 유용한 정보를 얻 기 위해 수학적인 연산을 풍하여 새로운 이미지를 만드는 작업이다. 필터링 작업을 위해서는 먼 저 필터(filter) 혹은 커널(kernel)이라고 부르는 정방행렬(크기가 n x n인 행렬)을 정의한다. 이 때 n은 주로 홀수이며 3 혹은 5를 많이 사용한다. 이 행렬의 각 원소의 값은 필터링의 목적 에 따라 여러가지 값을 가지게 된다. 예를 들어. 전체 이미지를 흐리게 만드는 블러링(blurring) 에 주로 많이 사용되는 평균 필터(averaging filter)로 많이 사용되는 크기가 3x 3인 정방형렬은 다음과 같다.그 다음으로는 다음 그림과 같이 이 필터의 중심을 이미지의 어떤 픽셀과 일치시켜 필터와..

Algorithm 2022.12.03
반응형