씹덕 특) 아는거 나오면 존나 신나서 설명하려고 함


아는거 나와서 한번 꺼드럭대면서 설명해보고 싶어서 씀ㅋㅋㅋㅋ


이번에 꿈의 회랑 퍼즐은 

그림이 그려져있어서 그렇지 어렸을때 해봤을수도 있는 저런 퍼즐종류인데 슬라이딩 퍼즐이라고 함


사실 이거 이름이 슬라이딩 퍼즐인지는 나도 방금 찾아보면서 앎


이름이 있었네 이게


나무위키 항목도 있더라 링크


저 항목에도 대략적인 원리는 설명해놔서 읽어보면 좋을듯? 굳이 내 글 필요없을거같기도 하고



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 한 줄이 완성되는거임





대충 이런 원리인데 쓰고보니까 설명 좀 길고 깔끔하진 않은거같네


그리고 회랑 퍼즐은 최단으로 맞추는거라 이거랑은 막 큰 상관이 있지는 않음


핵심은 한 줄 채울때 마지막 두 자리 바꿔서 넣어야 채워진다는거랑


마지막 두줄은 가로/세로 바꿔서 채워야한다는거?



일?단은 정보니까 정보탭으로 씀