백트랙킹 [node.js] BOJ - 15683 : 감시 (2) 각 감시카메라가 볼 수 있는 각도를 카메라별로 모두 탐색한다. - 가령, '첫 번째 2번 카메라는 (좌,우) (상,하) 이렇게 두 가지 방향을 볼 수 있으니, (좌,우)를 보는 경우를 고정해두고 '#'을 체크한 뒤, 다음 카메라로 넘어가서 또 그 카메라가 보는 곳을 표시해주고...'의 식으로 진행하는 것이다. 문제에서 카메라는 다음과 같이 총 5가지 종류이고, 각 카메라가 한 번에 볼... 백트랙킹DFS백준완전탐색DFS [알고리즘] 백준 - 연구소 효율성이 좋지 않았다. 이유는 combination 부분이었다. combination 부분을 이진법하는듯 방법으로 바꾸었다. (탈출조건에 처음에는 그냥 curPos >= emptySpaces.size() 라고 했다가 틀렸다. curPos가 마지막에 넘었더라도 count가 3이라면 그 경우는 처리해줘야 한다. 두 코드 성능 차이.... DFS브루트포스백트랙킹DFS [알고리즘] 백준 - 사다리 조작 일반적인 2차원 배열은 칸을 나타내는데 주어진 문제에서는 칸이 아닌 행과 열의 교차점이어서 그 부분이 문제를 접근하는데 많이 헷갈렸다. 문제의 searchOddNum 함수는 본인이 내려갈 지점에 가로선이 홀수개라면 절대 본인의 선 그대로 내려갈 수 없으니 미리 가지치기를 하는 것이다.... 다시 풀 알고리즘백트랙킹다시 풀 알고리즘 [알고리즘] 백준 - 소풍 처음에는 문제를 제대로 이해하지 않아 에러가 났다. 즉 데려갈 K명의 학생들은 모두 서로가 직접적으로 연결되어있어야하는데 중간 친구를 통해 연결되는 것도 된다고 생각했다. 두번째에는 충분히 가지치기를 해주지 않아 메모리 에러가 났다. 서로끼리 친구여야하므로 만약 A가 친구가 K-1명이 되지 않는다면 A는 방문할 필요가 없는 것이다. 이것을 추가해주니 통과가 됐다.... 다시 풀 알고리즘백트랙킹다시 풀 알고리즘
[node.js] BOJ - 15683 : 감시 (2) 각 감시카메라가 볼 수 있는 각도를 카메라별로 모두 탐색한다. - 가령, '첫 번째 2번 카메라는 (좌,우) (상,하) 이렇게 두 가지 방향을 볼 수 있으니, (좌,우)를 보는 경우를 고정해두고 '#'을 체크한 뒤, 다음 카메라로 넘어가서 또 그 카메라가 보는 곳을 표시해주고...'의 식으로 진행하는 것이다. 문제에서 카메라는 다음과 같이 총 5가지 종류이고, 각 카메라가 한 번에 볼... 백트랙킹DFS백준완전탐색DFS [알고리즘] 백준 - 연구소 효율성이 좋지 않았다. 이유는 combination 부분이었다. combination 부분을 이진법하는듯 방법으로 바꾸었다. (탈출조건에 처음에는 그냥 curPos >= emptySpaces.size() 라고 했다가 틀렸다. curPos가 마지막에 넘었더라도 count가 3이라면 그 경우는 처리해줘야 한다. 두 코드 성능 차이.... DFS브루트포스백트랙킹DFS [알고리즘] 백준 - 사다리 조작 일반적인 2차원 배열은 칸을 나타내는데 주어진 문제에서는 칸이 아닌 행과 열의 교차점이어서 그 부분이 문제를 접근하는데 많이 헷갈렸다. 문제의 searchOddNum 함수는 본인이 내려갈 지점에 가로선이 홀수개라면 절대 본인의 선 그대로 내려갈 수 없으니 미리 가지치기를 하는 것이다.... 다시 풀 알고리즘백트랙킹다시 풀 알고리즘 [알고리즘] 백준 - 소풍 처음에는 문제를 제대로 이해하지 않아 에러가 났다. 즉 데려갈 K명의 학생들은 모두 서로가 직접적으로 연결되어있어야하는데 중간 친구를 통해 연결되는 것도 된다고 생각했다. 두번째에는 충분히 가지치기를 해주지 않아 메모리 에러가 났다. 서로끼리 친구여야하므로 만약 A가 친구가 K-1명이 되지 않는다면 A는 방문할 필요가 없는 것이다. 이것을 추가해주니 통과가 됐다.... 다시 풀 알고리즘백트랙킹다시 풀 알고리즘