비투즈의 노트르담

 

 

개미수열을 코딩하는 법을 알아보자

개미수열은 우리나라에서 유달리 인기가 좋은 프랑스 소설가 베르나르 베르베르는 그의 소설 [개미]로 우리에게 처음 알려졌다.

 지금이야 너무나 유명해서 답이 뻔한 문제가 되어 버렸지만, 처음 이 문제가 소개되었을 때는 꽤 어려운 문제였다.

 

 

 

 

이 수열은 1로 시작하여, 11 = 1이 1개, 12 = 1이 2개, 1121 = 1이 1개, 2가 1개, 이런 식으로 각 단계의 숫자를 세어서 다음 단계를 만든다.

또, 이 수열에는 1, 2, 3 이외의 숫자는 등장하지 않는다

 

이런 걸 어디다 써 먹을까?

가끔 이런 장난 같은 수학은 아무짝에도 쓸모없다고 생각하는 사람들이 있다. 어쩌면 그 말도 맞을지 모르겠다. 그러나 수학자들이 반드시 당장 쓸모있는 이론만 개발해야 했다면, 컴퓨터를 비롯한 현대의 거의 모든 발명품이 만들어질 수 없었을 것이다. 수학적 이론이 정립된 다음 물리적 현상이 설명되고, 다시 이를 바탕으로 공학적인 응용이 이루어지기 때문이다. 이 과정에 100년이 넘는 경우도 적지 않다. 콘웨이의 연구가 당장 쓸모있는 물건을 만들어내는 데는 쓸모가 없을지 모르겠지만, 적어도 유전공학에는 어떤 시사점을 주는 것 같기는 하다. DNA니 RNA니 하는 것이 몇 종류의 염기가 일렬로 배열되는 방법에 따라 다양한 변화를 보이고 이런 배열을 분해하는 방법이 콘웨이의 발견과 비슷한 점이 있기 때문이다.

 

 

만약 이것을 프로그래밍해야한다면 기능별로 분석하는게 중요하다

 

우선 배열을 2개 만들어야 할 것이다

하나는 기존의 값을 저장 할 값, 하나는 기존의 값을 가져오면서 그 값의 개수를 저장할 배열

두개를 만들었으면 이제 기능을 크게 2가지로 나눠야 한다

기존의 값의 숫자를 갖고오는 기능

그 갯수를 세는 기능

그리고 이를 값이 없을때까지 반복하는 반복문

 

이것만 생각해도 문제를 풀기 한층 쉬울것이다.

 

개미수열과 알고리즘 문제를 쉽게 코딩해 보고 싶은 사람은

 

바로이순간 cafe.daum.net/pway에 가서 자료실에서 pdf파일과 svl프로그래밍을 이용하면 도움이 될 것이다.

네이버 지식인 랭커분이 관리해서 그런지 답변도 잘 해 주신다.

 

'프로그래밍 > 프로그래밍Tip' 카테고리의 다른 글

싱글턴 패턴  (0) 2013.05.24
SimpleVisualLauage (svl)  (0) 2013.04.11
홀수 마방진  (0) 2013.04.11
변수표기법  (0) 2013.04.05
스타일  (0) 2013.04.05