string
-
BOJ 12906 : 새로운 하노이 탑백준 문제풀이/GRAPH 2020. 3. 6. 14:22
풀이 문제 풀어보기 BFS 유형 중에서 이런 STL 을 사용하는 경우가 별로 없어서 포스팅해봤습니다. 이 문제에선 Array, String, Map 함수들이 사용됩니다. 우선 map 을 보겠습니다. map '변수명' 의 방식으로 사용되며 조금 어려울 수도 있는 함수입니다. 보통 bfs 에서 check[][] 라는 배열을 통해서 방문했던 위치를 파악합니다. 하지만 그게 좌표처럼 간단한 값이 아닌 경우 지금처럼 'aabbc' 라는 문자를 탐색했었는지?? 를 파악해야 하는 경우 map 함수가 사용됩니다. 그리고 이 문제에서는 그러한 key 값으로 array 이라는 배열을 사용했네요. 굳이 array 를 사용한 이유는 자료형과 크기를 확정 지을 수 있기 때문입니다. vector 의 경우..
-
BOJ 1525 : 퍼즐백준 문제풀이/GRAPH 2020. 1. 24. 01:16
문제 3×3 표에 다음과 같이 수가 채워져 있다. 오른쪽 아래 가장 끝 칸은 비어 있는 칸이다. 1 2 3 4 5 6 7 8 어떤 수와 인접해 있는 네 개의 칸 중에 하나가 비어 있으면, 수를 그 칸으로 이동시킬 수가 있다. 물론 표 바깥으로 나가는 경우는 불가능하다. 우리의 목표는 초기 상태가 주어졌을 때, 최소의 이동으로 위와 같은 정리된 상태를 만드는 것이다. 다음의 예를 보자. 1 3 4 2 5 7 8 6 1 2 3 4 5 7 8 6 1 2 3 4 5 7 8 6 1 2 3 4 5 6 7 8 가장 윗 상태에서 세 번의 이동을 통해 정리된 상태를 만들 수 있다. 이와 같이 최소 이동 횟수를 구하는 프로그램을 작성하시오. 입력 세 줄에 걸쳐서 표에 채워져 있는 아홉 개의 수가 주어진다. 한 줄에 세 개..