JavaScript를 오늘 처음 배워서 시험 삼아 짜보았습니다.
함수도 쓸 줄 모르고... write를 자꾸 printf로 쓰다가 움찔하고...
뭐 아무튼 어떻게 어떻게 짰네요.
사실 처음 짜는 데는 그렇게 오래 걸리진 않았는데,
문제는, 답이 없는 경우에 결과를 내지 못하고 무한 반복하다가 펑! 터져버렸다는 거...
부랴부랴 고쳤더니 코드도 영 더러워지고 쩝... ㅠㅠ
함수도 쓸 줄 모르고... write를 자꾸 printf로 쓰다가 움찔하고...
뭐 아무튼 어떻게 어떻게 짰네요.
사실 처음 짜는 데는 그렇게 오래 걸리진 않았는데,
문제는, 답이 없는 경우에 결과를 내지 못하고 무한 반복하다가 펑! 터져버렸다는 거...
부랴부랴 고쳤더니 코드도 영 더러워지고 쩝... ㅠㅠ
//Eight Queen Problem //Start : 2014.03.15 11:24pm var randValue; var queenArr = new Array(); var unsafeArr = new Array(); var i, j = 0; var flag = 1; document.write('<br>This is Eight Queen Problem<br><br><br>'); for(i=0;i<8;i++) { flag = 1; for(j=0;j<8;j++) { unsafeArr[j] = 0; } randValue = Math.floor(Math.random()*8); for(j=0;j<i;j++) { if(randValue == queenArr[j]) { flag = 0; unsafeArr[randValue] = 1; break; } else if(i-j == Math.abs(randValue-queenArr[j])) { flag = 0; unsafeArr[randValue] = 1; break; } } if(flag == 0) { for(j=0;j<8;j++) { if(unsafeArr[j] = 0) break; } if(j == 8) { i = 0; continue; } i--; continue; } queenArr[i] = randValue; } for(i=0;i<8;i++) { for(j=0;j<8;j++) { if(j == queenArr[i]) { document.write('Q '); continue; } document.write('- '); } document.write('<br>'); } //End : 2014.03.16 12:52am