EightQueenProblem을 아직 해결하지 않은 분은 이 페이지를 절대로 읽지 마세요.
해결을 하신 분은 아래를 보세요.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
EightQueenProblem을 해결하신 것을 축하드립니다. EightQueenProblem 페이지에 개발 시간과 소스 라인 수 등을 기록하셨나요? 사실 문제는 하나가 더 있습니다. 대부분의 프로그래밍 숙제/대회는 코드의 디자인은 잘 따지지 않습니다. 하지만 실세계의 문제에서는 코드의 적응도(adaptability)가 매우 중요한 요소가 됩니다. 자신이 작성한 프로그램이 얼마나 새로운 요구사항에 잘 적응을 하는지를 보면, 자신이 얼마나 디자인을 제대로 혹은 엉망으로 했는지 알 수 있습니다. 디자인 질에 대한 바로미터가 되는 것이죠.
새 문제는 다음과 같습니다. 자신이 작성한 프로그램을 수정을 해서, EightQueenProblem의 일반적인 문제를 푸는 것입니다. 즉, 8X8에서 8개의 여왕을 배치하는 서로 다른 모든 해법(총 92가지)을 구하는 것입니다.
EightQueenProblem에서와 마찬가지로 프로그램 작성 후에 다음 칸을 채워주세요.
도전자 | 총수정시간 | 최종 소스라인수(주석제외) | 사용언어 |
이준욱 | 0m (소스수정 없음) | 40 lines | C |
이덕준 | 4m | 73 lines EightQueenProblem2/이덕준소스 | C++ |
최태호 | 4m | 69 lines EightQueenProblem/최태호소스 | C++ |
최광식 | 8m | 141 lines | C++ |
이선호 | 32m | 64 lines | C++ |
강석천 | 2m | 131 lines (+ 82 line for testcode. total 213 lines) | python |
임인택 | 0m (소스수정 없음) | 75 lines | C++ |
이선우 | 1m | 114 lines | java |
최봉환 | 24m | 86 lines EightQueenProblem2/최봉환 | C++ |
이강성 | 15m | 43 lines EightQueenProblem2/이강성 | python |
강인수 | 67 lines/28 lines EightQueenProblem/강인수 | C++/python | |
icarus | 5m | 40 lines Eight Queen Problem/lasy0901 | C++ |
nextream | 0.1m | 21 lines EightQueenProblem/nextream 에서 check(1)을 check(0)으로 | Javascript |
da_answer | 5m | 135 lines EightQueenProblem/da_answer showMessage부분을 리커시브 안쪽으로 이동 | Delphi |
밥벌레 | 37m | 197 lines EightQueenProblem/밥벌레 | Delphi |
김준엽 | 65m | 71 lines EightQueenProblem/김준엽 | C++ |
안정원 | 1m | 6 lines EightQueenProblem/안정원 | Python |
"소스수정 없음"은 잘 이해가 되지 않습니다. 첫번째와 두번째의 요구사항, 즉 기대하는 결과가 다르다는 점을 생각할 때 프로그램이 조금이라도 달라져야 합니다. 분명 처음에는 모든 해를 구하라는 요구조건이 없었는데 그렇게 했다면 당시로서는 그건 YAGNI(You Aren't Gonna Need It)이거나 혹은 고객이 원하지 않는 프로그램 아닐까요?
글을 잘못 이해했습니다. 단순히 두 라인을 주석처리 하는것이라 시간이 들지 않은것이 아닌가 라는 생각을 했었는데, 아니었네요. 정정했습니다. -이선우
처음 문제에 '모든 해를 구해서는 안된다' 라는 말도 없고, '모든 해를 구하라' 라는 말도 없는데.. 제가 문제 이해를 잘못한건가요..? 지적해 주셔서 감사합니다 - 임인택
see also EightQueenProblem2Discussion
만약 이 모든 것을 완료했고, 뭔가 더 도전할 것을 찾는다면, N-Queens Problem을 풀면 됩니다. (요구사항의 또 다른 변화! ) NXN 체스판에서 N개의 여왕을 배치하는 프로그램이 되도록 수정하는 겁니다.
DeleteMe) 처음부터 랜덤으로 나올수 있게 구현했는데 92가지의 방법을 모두 출력해야 하나요?
네. 만약 그렇게 되도록 프로그램을 수정하는데 어려움이 있거나 시간이 많이 걸린다면 처음 디자인이 그다지 적응도가 높지 못했다는 반증일 수 있겠죠.
저의 경우가 그렇지요..ㅡㅡ 소스를 어케 만들었길래 고치는데.. 헤매는지.. 쿨럭.. --선호.이러한 변형 N-Queen 문제는 어떻습니까? http://eunjae85.new21.org/problem11/problem11.htm 입력값은 n과 h이고, 한 퀸이 h개까지 다른 퀸을 공격할 수 있게 하는 것입니다. h=0 이면 보통 N-Queen 문제가 되지요. --아무개.
선택사항 : EightQueenProblemSecondTry