15684번
15684번 -사다리 조작 이번 상반기에 대기업 알고리즘 문제로 나왔던 문제. 막상 가서 실전에서 문제를 풀 때에는 배열을 더 크게 잡아서 약간 미로탐색처럼 문제를 풀었었다. 하지만 지금 다시 보면서 생각해보니, 각 점들을 노드라고 생각하여 방향 그래프를 완성하면 문제가 쉬워진다. 근데 이 문제에서 계속 헷갈렸던게 입력값이었다.. N,M,H 가 주어지는데 나는 평상시에 N을 세로, M을 가로로 놓고 문제를 많이 풀다보니 헷 갈려서 그냥 변수를 바꿔버렸다. X축은 X로 Y축은 Y로 바꿔서 문제를 풀었다. 그리고 좌표값들을 노드 번호로 바꿔서 문제를 풀었다. 즉 세로가 3, 가로가 4인 사다리로 보았을 때, (1,1)은 1번 노드로, (1,2)는 2번 노드로, (1,3)은 3번 노드로 이런식으로 좌표를 노드..
더보기
1938번
1938번 - 통나무 옮기기 단순한 BFS로 풀려고 했는데, 생각해줘야 할 예외 사항이 많아서 경우의 수를 나누었다. 일단 처음에 입력받는 부분에서 통나무 B위치(bx,by,bd) 와 마지막 놓을 E의 위치를 (ex,ey,ed) 를 구해주었다. 이때 bx,by 는 통나무 중심의 좌표이고, bd 는 통나무가 놓인 방향을 나타냈다. bd 가 0 이면 세로, 1이면 가로 방향. 통나무 중심의 위치는 통나무가 가로이건 세로이건, for 문 두번을 돌때 2번째가 통나무가 중심인 것으로 찾았다. 또 중심값을 통해 통나무의 방향도 알아낼 수 있었다. 그리고 BFS를 수행하는 함수를 보면, 구조체를 만들어서 통나무의 좌표와 방향을 갖는 구조체를 큐의 인자로 넣는다. chek 배열 같은 경우는 3차원 배열을 설정하여 c..
더보기