어느 분께서 잘 안 풀리는 문제가 있다고 도움을 요청하셔서 보니...
문제(?)의 글:문제를 푸시면 사이냅소프트에서 기념품을 드립니다.
...원하신다면 입사특전도 드립니다.
피보나치 수에 대한 문제입니다. 피보나치 수는 아래와 같이 정의됩니다.
f(1) = 1
f(2) = 2
f(3) = f(1) + f(2) = 1 + 2 = 3
f(4) = f(2) + f(3) = 2 + 3 = 5
f(5) = f(3) + f(4) = 3 + 5 = 8
...
f(n) = f(n-2) + f(n-1), n>=3
a와 b라는 두수가 주어져 있을때 두수사이에는 몇개의 피보나치 수가 있을까요?
예를 들어 10과 100 사이에는 총 5개(13, 21, 34, 55, 89)의 피보나치 수가 있습니다.
12345678999과 99987654321 사이에도 몇개의 피보나치 수가 있습니다.
이 구간내의 모든 피보나치수를 더한 값이 기념품을 받을 수 있는 열쇠입니다.
정답을 아시면 아래 URL로 접속하세요.
http://{정답}.synap.co.kr
정답을 맞추고 해당 주소로 접속하면... 기념품이!!!
....가 아니고 줄듯 말듯 하면서...
이런 치사한 ㅠ.ㅠ 방법으로 3개의 문제가 더 나온다... -_-;;;
문제는 대충...
SYNAP+SOFT=WANTS+YOU
각각의 문자는 각각 서로 다른 한개의 숫자를 넣을 수 있다.
정답은 한개 또는 여러개 일수도 있고... 없을 수도 있다.
이런 비슷한 문제가... 점차 난이도를 높여서 나온다...
이것을 자신이 편한 프로그래밍 언어로 정답을 구하는 것을 작성하는 거다...
제일 마지막 문제는 위의 퀴즈에 대해서
어떤 문제도 다 풀 수 있도록 만능(?)으로 만드는것...
하지만 3개의 문제가 완전히 다른 것은 아니기에 정석(?)으로 푼다면,
다음 단계에도 쉽게 접근할 수 있다. 정답자에게 보낸 이메일에도 보여주듯이
이게 사이냅소프트가 더 좋은 소프트웨어를 만드는 방법이란다...
혹시 도전할 분을 위해 힌트를 주자면...
순열, 재귀호출, 문자파싱 정도의 기술을 적절히 사용하면 된다.
물론 다른 방법이 있을 수 있다. 개발에 정답이란 건 꼭 한가지만 있는건 아니니까...
자랑은 아니지만... 수능시험 볼때 수탐I 영역에서...
무려 8점! (40점 만점) 을 맞은 수학 둔재라서 -_-;;;
(개발자로서는 쵸큼 부끄러운 얘기일 수도 있겠다)
이런 문제는 그리 달갑지는 않다...
근데 왜 유명한 퀴즈문제라는데 난 처음 보는 것일까... 실제로 코딩한 시간은
얼마 안되지만, 푸는 알고리즘에 대해서 생각하고 구현하는데 많은 시간이 걸렸다.
학교 다닐때 수학좀 열심히 해 둘걸...
그래도 오기로 마지막 문제까지 도전해서 결국 다 풀어 버렸다.
비록 소스가 너저분해서 보낼까 말까 하루 정도 고민했지만.. (극소심 a형)
문제를 풀면서 참 기초가 부족하구나란 생각도 들고...
하던 것만 계속 하다보니 쉬운 것도 다 까먹었구나란 생각도 들고...
몇시간 고생한 거에 비하면... 이런 저런 반성도 하게 되서 얻은 것도 많다.
그리고 덤으로 기념품까지... 시계겸용 아날로그 라디오라고 한다...

개발자들이 좋아할 USB메모리 (너무 식상한가?) 같은 걸 줄줄 알았는데...
개인적으로 그다지 유용할 것 같지는 않지만;;; 그래도 기념은 되겠지...
사진에 있는 워터마크를 기준으로 사이트에 접속해 보니... 정체가
이거로군...
둘러 보니 같은 가격대의 좀 더 fancy한 것들도 많던데... 쵸큼 아쉽네... 크큭...
정답을 공개하지 말라고 해서...
해답은 공개하지 못하지만... 9월 14일까지 마감이라고 하니...
개발자분들은 한번 도전해 보시길...