월요일, 9월 10, 2012

"프로그래밍 면접 이렇게 준비한다" 퀴즈 풀이

요즘 인사이트 문제푸는 재미로 살고있었는데, 한주간 뜸한것 같더니, 한빛미디어에서도 비슷한 책과 조금 약한 이벤트를 실시하네요. 그래도 마구마구 풀어봅니다. ^^;


다행히(?) 프로그램을 짤 필요없이 글로만 적으면 되는것 같아서 글로 적어봅니다.(참 그림 첨부)


첫번째 문제

한눈에 척들어왔는데, 말로 다시 증명을 해보겠습니다. 일단 가운데에는 인접한 수가 하나 밖에 없는 1,8이 들어가야 합니다. 왜냐고 물으시면, 인접한 수가 2개를 가지고 있는 2를 넣어보면 금방 그 이유를 찾을 수 있습니다.

윗 그림과 같이 2를 가운데 넣게 되면, 2의 인접한 수인 1,3이 들어갈 수 있는 곳은 노란색 영역뿐입니다. 1,3이 친해서 한칸에 들어간다면 모르겠지만, 문제의 답과 멀어지는 소리가 들려서 얼능 빼고 이웃하는 숫자가 하나뿐인 1,8을 넣어 보았습니다.

가운데 1,8을 넣어보면 2,7은 자리가 정해집니다. -_-;, 3,4,5,6도 잘 넣어보면 아래와 같이 됩니다.1,8로 2가지, 3,4,5,6으로 각각 2,2 해서 8가지 정도 배열의 경우의 수가 나오겠네요. 끝.



두번째 문제

보통 이런문제는 같은 점은 지나면 안된다, 혹은 같은 길은 반복하면 안된다 이런 조건이 있는데 없는 것으로 봐서...그냥 최단거리를 구하는 수학문제로 -_-;;;;;

3x5 격자이므로 8가지 길중에 3가지 길은 선택( 혹은 5가지 길 선택)하는 것으로 8C3

8!/(5!3!) = 8*7*6/(3*2*1) = 56

56가지 입니다.


3번째 문제는 woongz2님이 "피보나치 수열"이네요 라고 한문장으로 푸신관계로 생략 ^^
( 왜 피보나치일까 궁금해서 A4지에 8비트 정도까지 크게 적어보고나서 이유를 알았네요. )

항상 행복하세요.


댓글 없음: