E D R , A S I H C RSS

Eight Queen Problem

About Eight Queen Problem


널리 μ•Œλ €μ§„ 고전적 체슀 퍼즐. 8X8의 체슀판 μœ„μ— 총 8개의 여왕을 λ°°μΉ˜ν•˜λŠ”λ° μ„œλ‘œ κ³΅κ²©ν•˜μ§€ μ•Šμ•„μ•Ό ν•œλ‹€. (참고둜 여왕은 μƒν•˜μ’Œμš° λŒ€κ°μ„  총 8λ°©ν–₯으둜 λ§ˆμŒλŒ€λ‘œ -- μž₯기의 차와 같이 ν•œλ²ˆμ— μ—¬λŸ¬μΉΈμ„ -- 움직일 수 μžˆλ‹€.

Input

이 ν”„λ‘œκ·Έλž¨μ€ Input을 μš”κ΅¬ν•˜μ§€ μ•ŠλŠ”λ‹€.

Output

쑰건을 만μ±ν•˜λŠ” 체슀판의 배치 μƒνƒœλΌ μΆœλ ₯ν•œλ‹€.


Sample Output

- - Q - - - - -
- - - - Q - - -
- Q - - - - - - 
- - - - - - - Q
Q - - - - - - -
- - - - - - Q -
- - - Q - - - -
- - - - - Q - -

이 λ¬Έμ œλΌ ν”„λ‘œκ·Έλž˜λ°μ„ ν•΄μ„œ ν’€μ–΄λ³΄μ„Έμš”. μ–΄λŠ μ–Έμ–΄λΌ μ‚¬μš©ν•˜λ“  μƒκ΄€μ—†μŠ΅λ‹ˆλ‹€. κ°€μž₯ μžμ‹ μžˆλŠ” μ–Έμ–΄λΌ μ‚¬μš©ν•˜μ„Έμš”. 그리고, λ§žλŠ” κ²°κ³ΌλΌ κ΅¬ν–ˆλ‹€λ©΄ λ‹€μŒ 칸을 μ±„μ›Œμ£Όμ„Έμš”. 비ꡐ적 κ°„λ‹¨ν•œ λ¬Έμ œμ΄μ§€λ§Œ, λ¬Έμ œλΌ ν•΄κ²°ν•΄ λ‚˜κ°€λŠ” 쀑에 μžμ‹ μ˜ μ‹€λ ₯κ³Ό μ‚¬μš©ν•˜λŠ” 도ꡬ, ν”„λ‘œκ·Έλž˜λ° κ³Όμ •, λ””μžμΈ 방법 등에 λŒ€ν•΄ 생각해 λ³Ό κΈ°νšŒκ°€ 될 κ²ƒμž…λ‹ˆλ‹€. λͺ¨λ“  ν›„λ°°λ“€μ—κ²Œ κΌ­ ν•œλ²ˆ μ‹œλ„ν•΄ λ³Ό 것을 κΆŒν•©λ‹ˆλ‹€. 이 κ²½ν—˜μ— λŒ€ν•΄ 슀슀둜 뢄석해 보고, 남듀과 κ²½ν—˜μ„ κ³΅μœ ν•˜κ³  μ°¨μ΄λΌ μ‚΄ν”Όκ³ (AnalyzeMary), 또 ν† λ‘ ν•˜λ©΄μ„œ μ•„μ£Ό λ§Žμ€ 것을 배우게 될 κ²ƒμž…λ‹ˆλ‹€. μ–΄μ©Œλ©΄ μ΄μ œκΉŒμ§€μ˜ ν”„λ‘œκ·Έλž˜λ° κ²½ν—˜μ—μ„œλ³΄λ‹€ 더 λ§Žμ€ 것을 말이죠. 사싀 이 μ‹€ν—˜μ˜ μ§„μ •ν•œ κ°€μΉ˜λŠ” 문제 μžμ²΄λ³΄λ‹€ 이 λ¬Έμ œκ°€ κ°€λŠ₯μΌ€ ν•˜λŠ” 자기 κ΄€μ°°/λ°˜μ„±κ³Ό, νƒ€μΈκ³Όμ˜ λ…Όμ˜μ— μžˆλŠ” 것인지도 λͺ¨λ¦…λ‹ˆλ‹€. --κΉ€μ°½μ€

μ‹œκ°„μ„ 잴 λ•Œμ—λŠ” Wiki:SandglassProgramming에 μ†Œκ°œλœ ν”„λ‘œκ·Έλž¨μ„ μ΄μš©ν•˜λ©΄ νŽΈλ¦¬ν•©λ‹ˆλ‹€. ν™”μž₯싀을 λ‹€λ…€μ˜¨λ‹€λ“ κ°€ ν•  λ•Œ ν•„μš”ν•œ 쀑간 멈좀(pause) κΈ°λŠ₯도 μžˆμŠ΅λ‹ˆλ‹€.

λ„μ „μžμ΄κ°œλ°œμ‹œκ°„μ†ŒμŠ€λΌμΈμˆ˜(μ£Όμ„μ œμ™Έ)μ‚¬μš©μ–Έμ–΄ Source
이μ€μš± 3h:20m 40 lines C EightQueenProblem/이μ€μš±
iCarus 0h:30m 30 lines C EightQueenProblem/lasy0901
μ΄λ•μ€ 1h:10m 73 lines C++ EightQueenProblem/이덕μ€μ†ŒμŠ€
μ΅œνƒœν˜Έ 0h:35m 71 lines C++ EightQueenProblem/μ΅œνƒœν˜Έμ†ŒμŠ€
μ΅œκ΄‘μ‹ 2h:38m 141 lines C++ .
μ΄μ„ ν˜Έ 2h:29m 58 lines C++ EightQueenProblem/μ΄μ„ ν˜Έ
κ°•μ„μ²œ 4h:50m 135 lines (+ 82 line for testcode. total 217 lines) python EightQueenProblem/κ°•μ„μ²œ
κ°•μ„μ²œ 0h:47m 72 lines (+ 58 line for testcode. total 132 lines) python .
μž„μΈνƒ 2h:00m 75 lines C++ EightQueenProblem/μž„μΈνƒ
μ΄μ„ μš° 1h:05m 114 lines java EightQueenProblem/μ΄μ„ μš°
μ΅œλ΄‰ν™˜ 2h:30m 71 lines C++ EightQueenProblem/μ΅œλ΄‰ν™˜
이창섭 1h:9m 73 lines C++ EightQueenProblem/이창섭
μ‘°μ˜λ΄‰ 6h:00 μΌμΉ˜μ‹œλ„ μ‹€νŒ¨ python
이강성 1h:50 36 lines python EightQueenProblem/이강성
햇병아리 10h:50m 111 lines C EightQueenProblem/햇병아리
kulguy 10h:00m 229 lines java EightQueenProblem/kulguy
κΉ€ν˜•μš© 8h:00m 115 lines (+ 63 line for testcode. total 178 lines) python EightQueenProblem/κΉ€ν˜•μš©
μ„œμƒν˜„ 2h:18m 62 lines C EightQueenProblem/μ„œμƒν˜„
κ°•μΈμˆ˜ 67 lines/ 28 lines C++/python EightQueenProblem/κ°•μΈμˆ˜
2003년도 λ°λΈ”μŠ€ μΊ ν”„
λΌκ°•κ·Ό . . . 8queen/λΌκ°•κ·Ό
손동일 . . . 8queen/손동일
문원λͺ… . . . 8queen/문원λͺ…
강희경 . . . 8queen/강희경
κ³½μ„Έν™˜ . . . 8queen/κ³½μ„Έν™˜
nextream 1h:02m 21 lines Javascript EightQueenProblem/nextream
da_answer 3h:00m 135 lines Delphi EightQueenProblem/da_answer
λ°₯벌레 0h:55m 170 lines Delphi EightQueenProblem/λ°₯벌레
용쟁호투 3h:56m 146 lines Powerbuilder EightQueenProblem/용쟁호투
용쟁호투 2h:10m 177 lines MS-SQL EightQueenProblem/용쟁호투SQL
Leonardong 2h:35m 153 lines python EightQueenProblem/Leonardong
μ‘°ν˜„νƒœ 0h:20m 52 lines C/C++ EightQueenProblem/μ‘°ν˜„νƒœ
μ‘°ν˜„νƒœ 1h:00m 60 lines C/C++ EightQueenProblem/μ‘°ν˜„νƒœ2
μ •μˆ˜λΌ 3h:00m 132 lines C++ EightQueenProblem/μ •μˆ˜λΌ
μ•ˆν˜μ€ - 60 lines go EightQueenProblem/μ•ˆν˜μ€
μ΅œλ‹€μΈ 1h:28m 67 lines JavaScript EightQueenProblem/μ΅œλ‹€μΈ
μ•ˆμ •μ› 0h:16m 13 lines Python EightQueenProblem/μ•ˆμ •μ›


참고둜, μ†Œμš”μ‹œκ°„μ΄ λͺ¨λ‘ μ–Όλ§ˆλƒ ν•˜λŠ” 것이 크게 μ€‘μš”ν•œ 것은 μ•„λ‹™λ‹ˆλ‹€. μ€‘μš”ν•œ 것은 κ·Έ λ™μ•ˆ μ–Όλ§ˆλ‚˜ κ°€μΉ˜μžˆλŠ” 무엇을(μ–Όλ§ˆλ‚˜ 더 μ–Όλ§ˆλ‚˜ 덜) ν–ˆλƒλŠ” 것이죠. 남듀보닀 μ‹œκ°„μ΄ 였래 걸리고, μ½”λ“œκ°€ κΈΈμ–΄μ‘Œλ‹€κ³  μŠ¬νΌν•˜μ‹­λ‹ˆκΉŒ? μ•„λ‹™λ‹ˆλ‹€. 였히렀 μΆ•ν•˜λ“œλ¦½λ‹ˆλ‹€. 당신은 그만큼 큰 λ°°μ›€μ˜ κΈ°νšŒλΌ λ§Œλ‚œ κ²λ‹ˆλ‹€. μžμ‹ μ˜ ν”„λ‘œκ·Έλž¨μ΄ λ‹€λ₯Έ μ‚¬λžŒλ“€μ˜ 그것보닀 μ›”λ“±ν•˜λ‹€κ³  μžλž‘μŠ€λŸ¬μ›Œν•˜λ©°, 더 이상 배울 것이 μ—†λ‹€κ³  μƒκ°ν•˜μ‹­λ‹ˆκΉŒ? μ•„λ‹™λ‹ˆλ‹€. 당신은 μžμ‹ μ΄ μ΄λ ‡κ²Œ ν›Œλ₯­ν•œ ν•΄λΌ κ΅¬ν•œ 것을 λ‚¨μ—κ²Œ μ„λͺ…ν•΄ μ„ κΈ°νšŒλΌ μ°Ύμ•˜μŠ΅λ‹ˆλ‹€. κ°€λ₯΄μΉ˜λŠ” κ²ƒλ§ŒνΌ 큰 배움도 μ—†μŠ΅λ‹ˆλ‹€(이 λ•Œ μžμ‹ μ΄ λ§Œλ“  ν”„λ‘œκ·Έλž¨ μžμ²΄λΌ μ„λͺ…ν•˜λ €κ³  ν•˜λŠ” 것보닀 μžμ‹ μ΄ μ–΄λ–€ 사고과정과 μ–΄λ–€ ν”„λ‘œκ·Έλž˜λ° μ„±μž₯ 과정을 톡해 μ΅œμ’…λ¬Όμ— λ„λ‹¬ν–ˆλŠ”μ§€λΌ λ°˜μΆ”ν•΄λ³΄κ³  μ„λͺ…ν•΄μ£ΌλŠ” 게 더 μ’‹κ² μŠ΅λ‹ˆλ‹€). 또 λ‹€λ₯Έ μ‚¬λžŒλ“€μ€ 무엇 λ•Œλ¬Έμ— μžμ‹ κ³Ό 같은 쒋은 ν•΄λΌ μ–»μ§€ λͺ»ν–ˆλŠ”지 뢄석을 ν•  μ—¬μœ κ°€ μžˆμŠ΅λ‹ˆλ‹€.

λ§Œμ•½ μœ„μ˜ 칸을 μ±„μš°μ…¨λ‹€λ©΄ EightQueenProblem2λΌ λ³΄μ„Έμš”. (μ ˆλŒ€ 문제 ν’€κΈ° 이전에 보면 μ•ˆλ¨)

질문 μžˆλŠ” λ°μš”. 개발 μ‹œκ°„μ— λ¬Έμ œλΌ λ³΄κ³  μƒκ°ν•œ μ‹œκ°„κΉŒμ§€ ν¬ν•¨λ˜λ‚˜μš”?? -- μ„ ν˜Έ
λ„€. 보톡 개발이라고 ν•˜λ©΄ 뢄석, λ””μžμΈ, ν…ŒμŠ€νŒ…, μ½”λ”© λͺ¨λ‘ ν¬ν•¨ν•©λ‹ˆλ‹€. λ”°λΌμ„œ λ¬Έμ œλΌ λ³΄κ³  풀어봐야지 ν•˜κ³  μƒκ°ν•œ μ‹œμ λΆ€ν„° κ°œλ°œμ€ μ‹œμž‘λœ κ²λ‹ˆλ‹€. 사싀 "μ½”λ”©"의 과정은 μ „μ²΄μ—μ„œ 보면 μž‘μ€ 뢀뢄에 μ§€λ‚˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
γ… .γ…  μ‚½μ§ˆν–ˆμŠ΅λ‹ˆλ‹€.; μƒν•˜μ’Œμš° λŒ€κ°μ„  8λ°©ν–₯을 μ£Όμœ„λ‘œ ν•œμΉΈ μ΄λ™ν• μˆ˜ μžˆλŠ”κ²ƒμ΄λΌκ³  해석을 ν•΄μ„œ..; μ΄μƒν•œ μ½”λ“œκ°€ λ‚˜μ™€λ²„λ Έλ„μš” γ… .γ…  μ—­μ‹œ μ²΄μŠ€λΌ λͺ°λΌλ„ 죄가 λ˜λŠ”κ²ƒμΈκ°€~~ --인수




였늘의 κ΅ν›ˆ : 감기약먹고 ν”„λ‘œκ·Έλž˜λ°ν•˜μ§€ 말자. --; - μž„μΈνƒ

이런거 μ’…μ’… ν•˜λ©΄ 제λΈμžˆκ² λ„μš”..^^;; -μ΅œνƒœν˜Έ
와.. μ°Έμ—¬μœ¨ λ†’μ€λ°μš”~ ^^ 열띀 λΆ„μœ„κΈ° --μ„μ²œ


μ˜›λ‚  ZPμ—μ„œ ν•˜λ˜ 1000bytes κ²½κΈ° λ³΄λŠ” 것 κ°™λ„€ ν—ˆν—ˆ _



κ΄€λ ¨ νŽ˜μ΄μ§€ 개μ„μ˜λ„

μ œκ°€ EightQueenProblem 일련과 ν† λ‘  νŽ˜μ΄μ§€λΌ μ—΄μ€ μ˜λ„λŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

  • μ—¬λŸ¬ μ‚¬λžŒμ΄ ν•¨κ»˜ ν•  수 μžˆλŠ” 것에 μ „μ‹œνšŒλ‚˜ κ°•μ—°, 기쑴의 μŠ€ν„°λ””λ‚˜ μˆ™μ œ λ‚΄μ£Όκ³  κ²€μ‚¬ν•˜κΈ° λ“± 말고도 κ°€μΉ˜μžˆλŠ” 것이 많이 μžˆλ‹€λŠ” 것을 보여주기 μœ„ν•΄
  • μžμ‹ μ˜ ν”„λ‘œκ·Έλž˜λ° 과정을 λŒμ•„λ³΄κ³ (self-reflect), λ‚¨λ“€μ˜ 그것과 비ꡐ해볼 기회 μ œκ³΅μ„ μœ„ν•΄
  • 곡동 ν•™μŠ΅(collaborative/collective learning)을 μœ λ„ν•˜κΈ° μœ„ν•΄
  • κΌ­ 닡을 κ°€λ₯΄μ³ μ£Όκ±°λ‚˜ ꡐ정을 ν•΄μ£ΌλŠ” 선생이 없어도 μ„œλ‘œ 배울 것이 λ¬΄κΆλ¬΄μ§„ν•˜κ³ , 또 λ§Žμ€ 것을 배울 수 μžˆλ‹€λŠ” 것을 μ²΄ν—˜μ‹œμΌœμ£ΌκΈ° μœ„ν•΄
  • ν”„λ‘œκ·Έλž˜λ°μ„ μž˜ν•œλ‹€λŠ” 것은 λ‹¨μˆœνžˆ λΉ λ₯Έ μ‹œκ°„ μ•ˆμ— 짧고 κΈ°λ°œν•œ ν”„λ‘œκ·Έλž¨μ„ λ§Œλ“€μ–΄λ‚Έλ‹€λŠ” 것이 μ•„λ‹ˆλΌλŠ” 것을 μΈμ‹μ‹œμΌœμ£ΌκΈ° μœ„ν•΄
  • ν”„λ‘œκ·Έλž˜λ°μ„ μž˜ν•˜λŠ” μ‚¬λžŒμ€ ν”„λ‘œκ·Έλž˜λ°κ³Ό 사고 과정에 μ–΄λ–€ 효율적 체계(system)듀을 μ—¬λŸ¬κ°€μ§€ κ°–κ³  μžˆλ‹€λŠ” 것을 μ•Œλ €μ£ΌκΈ° μœ„ν•΄
  • λ°°μš΄λ‹€λŠ” 것이 μ–Όλ§ˆλ‚˜ ν₯λΈμ§„지(exciting)ν•œ 것일 수 μžˆλŠ”μ§€ 느끼게 ν•΄μ£Όλ €κ³ 
  • μ΄λΈ λ§Œλ“€μ–΄μ§„ 쒅적 μƒνƒœμ˜ ν”„λ‘œκ·Έλž¨μ—μ„œλ³΄λ‹€ 그것을 μ „ν˜€ λͺ¨λ₯΄λŠ” μƒνƒœμ—μ„œ 직접 μΆ•μ‘°(construct)ν•΄ λ‚˜κ°€λŠ” κ³Όμ •μ—μ„œ λ°°μš°λŠ” 것이 훨씬 더 많고, 재λΈμžˆμœΌλ©°, 효율적인 ν•™μŠ΅μ΄ λœλ‹€λŠ” 것을 느끼게 ν•΄μ£ΌκΈ° μœ„ν•΄
  • 같은 문제의 해법에 λ‹€μ–‘ν•œ ν˜Ήμ€ λΉ„μŠ·ν•œ 뢀뢄듀이 μ‘΄μž¬ν•˜λ©°, κ±°κΈ°μ„œ μ„œλ‘œ 배울 것이 λ§Žλ‹€λŠ” 것을 λŠλ‚„ 기회 제곡
  • λ³„λ‘œ λŒ€λ‹¨ν•΄ 보이지 μ•ŠλŠ” ν™œλ™μ—μ„œ 각자 μ–Όλ§ˆλ‚˜ λ§Žμ€ 것을 배울 수 μžˆλŠ”μ§€ 직접 ν…ŒμŠ€νŠΈν•΄λ³Ό 기회 μ œκ³΅μ„ μœ„ν•΄ -- ν›Œλ₯­ν•œ ν•™μŠ΅μžλŠ” λ™μΌν•œ μ‚¬κ±΄μ—μ„œ 더 λ§Žμ€, 더 κΉŠμ€ κ΅ν›ˆμ„ μ–»λŠ”λ‹€λŠ” 것을 μ•Œλ €μ£ΌκΈ° μœ„ν•΄

--κΉ€μ°½μ€


Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:23:11
Processing time 0.0916 sec