전체 글 (88) 썸네일형 리스트형 백준 3109 <빵집> 이 문제는 DFS 문제임과 동시에 어떻게 하면 갔던 곳을 방문하지 않게 할까? 가 주요한 문제이다. 이 문제를 해결하기위해서는 두 가지 신경 써줘야 하는 부분이 있었다. 길을 연결 하고 나서 돌아갈 때 처리 방법 길을 연결 하지 못했다면 돌아갈 때 처리 방법 첫 번째 방법은 return 값을 boolean형으로 선언해서 true로 리턴하게 하면 된다. 다른 방법은 flag를 한 개 선언해서 이용해주면 된다. 이렇게 처리해 주지 않으면 이렇게 다음 빈 공간으로 이동하기 때문에 원래 값은 1이 되어야 하는데 2가 출력되게 됩니다. 두 번째 방법은 이미 방문했던 곳을 다시 방문할 수 없게 방문처리를 계속하는 것입니다. 그렇지 않으면 이전에 방문했지만 방문 표시를 제거해줬기 때문에 그 지점을 다시 방문하게 되어.. 백준 1194 <달이 차오른다,가자> 우선 문제에서 이동 횟수의 최솟값을 구하라고 했기 때문에 BFS를 이용해야 하는 문제이다. 그리고 한가지 더 주의해야 할 점은 각각의 이동 시마다 가지고 있는 키를 알고 있어야 하는 문제이다. 각각의 가지고 있는 키의 정보를 저장하기 위해 key[] 배열을 가지고 있어도 되지만 크기를 줄이기 위해 비트 연산을 사용하도록 하는 문제이다. 비트 연산을 알지 못하면 어려운 문제이다. 전체적인 맵에서 각각의 키를 가지고 있는지 표시하기위해 1 백준 15686 <치킨 배달> 이 문제도 마찬가지로 조합을 구할 수 있냐 하는 문제인 것 같다. 치킨집이 최대 13개이기때문에 최대 13 C m 이 될 것이고 이 값은 1만이 넘지 않는다. 집의 개수는 최대 2 * N 개가 넘지 않으니 최대 100개 이므로 집에서 치킨집까지의 모든 거리를 계산해도 천만? 정도가 될 것이다. 이 문제는 이전 문제와 다르게 접근을 해보았는데 visit배열을 이용해서 방문을 체크해주고 방문한 경우에는 num+1을 해서 재귀를 해주도록 하였다. 이 문제에서 주의해야 할 점은 최대 M개를 고르는 문제라고 하여 그 이하의 경우도 생각해주어야 하는가? 였다. 답은 당연히 No!이다. 우리가 구하는 것은 집에서 가장 가까운 치킨집을 고르는 것이기 때문에 치킨집의 개수는 많을수록 좋다. 그다음은 각각의 집에 대해 가.. 이전 1 ··· 22 23 24 25 26 27 28 ··· 30 다음