Algorithm/Programmers
-
[Programmers] 지형 이동Algorithm/Programmers 2022. 3. 16. 23:35
[Programmers] 지형 이동 JAVA 문제 : 지형 이동 문제 설명 N * N 크기의 지형이 있고 지형마다 각각의 높이가 있습니다. 지형의 높이차가 정해진 값 이하이면 자유롭게 이동할 수 있지만, 정해진 값 보다 차이가 높으면 사다리를 설치해야 이동할 수 있습니다. 이때 사다리의 높이는 인접한 지형의 높이 차이고, 사다리의 수는 제한이 없지만 사다리들의 높이합이 최소한이 되도록 설치하여 모든 지형끼리 연결되게 해야 하는 문제입니다. Solution bfs, 크루스칼 알고리즘 우선 bfs로 서로 사다리 없이 이동할 수 있는 지형들을 구별해 주고 각각 번호(사다리 없이 이동할 수 있는 지역별 번호)를 할당해 줍니다. 이때 인접한 지형의 높이차가 주어진 값 보다 커서 이동을 못하는 지형에서는 크루스칼 ..
-
[Programmers] 블록 이동하기(2020 KAKAO BLIND RECRUITMENT)Algorithm/Programmers 2022. 3. 16. 23:32
[Programmers] 블록 이동하기(2020 KAKAO BLIND RECRUITMENT) JAVA 문제 : 블록 이동하기(2020 KAKAO BLIND RECRUITMENT) 문제 설명 1*2 크기의 드론(2*1로 회전이 가능하다.)이 지도에서 막히지 않은 곳을 통해 움직일 때, n*n 칸(오른쪽 아래 마지막 칸)으로 가는 최소한의 움직임을 출력하는 문제입니다. 드론은 상, 하, 좌, 우로 움직일 수 있고 가로에서 세로로, 세로에서 가로로 회전할 수 있는데, 회전할 때 닿는 지도가 막혀있으면 회전이 안 됩니다.(자세한 건 그림으로 나와있습니다.) Solution bfs bfs로 드론이 한 칸씩 움직일 때마다 방문한 거리를 1씩 더해주며 최종 n*n에 닿았을 때 최종 값을 출력하면 됩니다. 다만 단순하..
-
[Programmers] 자물쇠와 열쇠(2020 KAKAO BLIND RECRUITMENT)Algorithm/Programmers 2022. 3. 15. 20:08
[Programmers] 자물쇠와 열쇠(2020 KAKAO BLIND RECRUITMENT) JAVA 문제 : 자물쇠와 열쇠(2020 KAKAO BLIND RECRUITMENT) 문제 설명 크기가 N*N인 자물쇠와 크기가 M*M인 열쇠가 주어집니다. 자물쇠와 열쇠는 각각 홈인 부분과 돌기인 부분이 있습니다. 이때 자물쇠보다 크기가 항상 작거나 같은 열쇠를 90도씩 회전하거나 이동시켜서 자물쇠와 열쇠 서로의 홈과 돌기 부분을 맞추는 것이 문제입니다. solution 메서드에서 맞출 수 있는 경우의 수가 있다면 true, 맞출 수 있는 경우의 수가 존재하지 않는다면 false를 return 해야 합니다. Solution 완전 탐색 만약 어떠한 방법을 써도 맞출 수 없다면 false를 return해야 하기 때..