Bitmask(비트마스크) 설명
비트마스크(Bitmask) 비트마스크는 간단하게 말하자면, 집합의 표현을 비트로 표현하는 것이다. 예로 들어, 집합 A = {1,3,5,6,7}가 있다고 하자, 비트마스크를 모른다면, bool타입의 array를 이용해서 true, false 체크를 할 것이다. 하지만, 비트마스크를 이용한다면, 아주 간단하게 표현 할 수 있다. 다음 Bool Array에서 T는 해당 원소가 있음을 뜻하고, F는 없음을 뜻한다. 집합 A를 비트마스크를 이용해서 표현해보자. 가장 큰 수가 7이니, 0-7까지 집합의 원소가 있음을 1로 표현하고 없음을 0으로 표현하면, 원소 7이 있음 -> 1, 원소 6이 있음 -> 1 원소 5가 없음 -> 0 ...원소 0이 없음 ->0 으로 표현 할 수 있다. 그렇다면, 이 0과 1의 모음..
BFS 문제 분석-1(미로탐색)
1. 미로탐색 문제 분석(boj.kr/2178) 이번 문제는 사실 크게 어렵지 않다. 간단한 방법으로 풀 수 있다. 우선, edge는 미로에서 이동할 수 있는 루트를 2차원 배열로 만들어야 한다. visited를 2차원 배열로 만들어야 한다. 우리가 DFS에서 했던 어떤 문제는 1차원 배열의 형태로 만들었다. 그 이유는, 각 노드에 대한 방문이다. 하지만 여기서는, 각 노드에 대해서 방문하는게 아니라, 배열의 위치를 방문하는 것이다.우리는 (1,1)에서 최종 목표로 갈 수 있는 최소 칸수를 구해야 한다. 그래서 탐색을 (1.1)에서 시작한다.화살표의 의미는, 이 바로 다음에 설명하도록 하겠다.아, 너무 당연하지만 0이면 방문하지않음, 0이 아니면 방문했음을 표현했다.현재 상태는, (1,1)에서 방문을 시..