씹덕 특) 아는거 나오면 존나 신나서 설명하려고 함
아는거 나와서 한번 꺼드럭대면서 설명해보고 싶어서 씀ㅋㅋㅋㅋ
이번에 꿈의 회랑 퍼즐은
그림이 그려져있어서 그렇지 어렸을때 해봤을수도 있는 저런 퍼즐종류인데 슬라이딩 퍼즐이라고 함
사실 이거 이름이 슬라이딩 퍼즐인지는 나도 방금 찾아보면서 앎
이름이 있었네 이게
나무위키 항목도 있더라 링크
저 항목에도 대략적인 원리는 설명해놔서 읽어보면 좋을듯? 굳이 내 글 필요없을거같기도 하고
https://madstone-dev.github.io/sliding-puzzle/
자료 필요해서 찾다가 나온 이 사이트에서 캡쳐하면서 글 썼음
먼저 우리가 맞출 퍼즐은 이런 모양의 3x3 사이즈의 퍼즐임
숫자니까
123
456
78(9)로 맞추는거고
1. 한줄 맞추기
일단 직소퍼즐 맞추는것처럼 맨 위 한줄을 123으로 맞춰보자
아마 존나 두들겨봐도
높은 확률로 이렇게 12 까지만 들어가고 3은 안 들어갈거임
현실에 있는 플라스틱이면 뽑아서 끼면 되는데 이건 데이터 쪼가리라 안 되잖아?
핵심은 반대로 넣기 임
12를 먼저 넣어버리면 움직일 공간이 없어서 3이 안 들어가
그래서 역으로 13 순서로 넣는거임
이렇게
그러면 이제 3을 옆으로 밀고 2를 위로 밀면 우리가 생각한 123 순서로 들어감
만약 2를 먼저 넣고싶으면 1 옆에 두는게 아니라 반대 벽에 붙인 후 3을 붙여주면 들어감
즉 13x 순서나 1x2 순서가 되게, 순서를 반대로 해야 밀어서 넣을 수 있음
1-1. 이미 붙어버린 연속한 타일 떼어내는 방법
만약 이미 이 상태가 됐고 저거 떼어내는법을 모르겠다?
이렇게 하면 됨
반대 방향으로 밀어버려서 사이에 다른 타일을 넣어서 거리를 벌리면 됨
이 다음에 원 모양으로 그냥쭉 순서대로 밀어버리면 됨
여기서 쭉 밀면 이런 모양이 됨
이렇게 쭉 밀려서 1이랑 3이 만나지
그럼 2는 옆으로 한칸 밀면 되고
13
2
모양이 되니까 그대로 밀어주면 123 모양이 다시 나옴
2. 두번째 줄 맞추기
사실 제목은 낚시임
123을 맞춰서 첫 줄을 완성하고 456을 완성하려고 하면 절대 안 될거임
만약 된다면 그냥 거기서 끝남ㅋㅋㅋ
왜 안 되냐면 저렇게 모양이 틀어져서 아까랑 똑같이
46
5
를 만들어서 456을 맞춰보려고 하면 공간이 모자라서 저 형태가 안 나옴
그래서 이번에는 목표를 바꿔서
가로 방향으로 쌓아야 함
그러니까 이번에는 47을 맞춰서 왼쪽 벽에 끼워넣어야겠지?
다음은 아까랑 같은 원리로 4와 7 중에서 하나를 반대쪽 자리에 놓은다음에 밀면 됨
이렇게
4를 원래 7이 들어가야 하는 자리에 넣고 7을 그 옆에 붙인 후 4를 원래 자리로 밀어주면 옮겨짐
3. 마지막
이제 123이랑 47을 맞췄으면 저 작은 사각형 범위의 타일만 맞추면 끝임
근데 여기까지 오면 안 맞춰도 됨
저거 그냥 순서만 바꾸면 퍼즐 끝이거든
여기까지 왔는데 안 맞춰지면 틀린 퍼즐이니까 걍 때려치면 됨
4. 요약 & 확장
지금까지 장황하게 설명한거 대략적으로 요약하면 이렇게 됨
1. 일단 한줄씩 맞춘다
2. 한줄을 맞출때 마지막 두 타일은 위치를 바꿔서 넣어야 들어간다
3. 가로로 한줄씩 맞추다가 마지막 두줄만 남았을때는 세로로 바꿔서 채워넣어야 한다
4. 마지막에 2x2 공간만 남으면 순서만 바꿔주면 퍼즐 끝
좀 큰 사이즈로 5x5를 예시로 들면
이런 순서로 채워간다고 생각하면 됨
첫 줄 맞출때 123까지는 그냥 넣고, 4랑 5를 순서 바꿔서 밀어넣으면 12345 한 줄이 완성되는거임
대충 이런 원리인데 쓰고보니까 설명 좀 길고 깔끔하진 않은거같네
그리고 회랑 퍼즐은 최단으로 맞추는거라 이거랑은 막 큰 상관이 있지는 않음
핵심은 한 줄 채울때 마지막 두 자리 바꿔서 넣어야 채워진다는거랑
마지막 두줄은 가로/세로 바꿔서 채워야한다는거?
일?단은 정보니까 정보탭으로 씀