오늘도 몸 상태가 좋지는 않아서, 많이는 못했습니다. 토요일 오전은 공식적으로(?) 쉬기로 마음먹은 떄이기도 하구요.
알고리즘은 백트래킹에서 유명한 N-Queen문제를 풀었습니다. 정확히는 시도했다, 쪽에 가깝네요.
대강 아이디어는 짰는데, 턱 막혔던 부분이 '2차원 배열로 체스판의 좌표를 받고, 반복문을 돌려 조합을 구상한다치면, 겹치는 조합도 있을텐데 이걸 어떻게 나눠주는지?' 였습니다.
결국 그 부분이 해결 안되서 정답을 봤는데, 나머지 구상은 얼추 맞았습니다. 그리고 제가 고민한 문제는, 2차원 배열이 아닌 1차원 배열로 접근하여 해결하더군요. 어차피 퀸 무빙상 같은 x축/y축에 서로다른 퀸이 둘 이상 올 수 없으니, 배열의 순번으로 x축 좌표를, 배열의 값으로 y축 좌표를 정하는 구조였습니다. 띠용~
일단 이해한걸 바탕으로, 코드를 쳐보니, 되었습니다.
여기서 멘탈 터져서 잠깐 멘탈 수습도 하고, 열이 좀 있어서 쉬었습니다.
그 후에, 스도쿠 문제도 봤는데 비슷한 문제에 직면했습니다. '좌표축대로 구현한다치면, 처음 값이 구해지지 않는 스도쿠 값은 어떻게함? 좌표에 가까운 빈칸의 스도쿠를 다른 빈칸이 해결된 뒤에 알 수 있다면?' 이었는데, 이 부분은 풀이에서 딱히 고려하지 않아도 되는 것처럼 풀었더군요. 음...뭐지? 뭐지뭐지? 스도쿠 룰을 잘 몰라서 모르겠습니다. 찾아보니, 예시보다 빈칸이 훨씬 많은게 일반적이더군요. 고난도용 스도쿠 풀이 문제도 따로있었구요.
환기하고 밥먹고 씻었더니 몸 상태가 좀 나아졌는데, 남은 시간에는 컴퓨터 구조 책 좀 마저 읽다 자려 합니다.