일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- swexpertacademy
- 코딩테스트
- 알고리즘 문제
- STUDYENGLISH
- 백준
- BFS
- 쉬운 알고리즘 문제
- dfs
- nightroutine
- englishbook
- 원서
- 완전탐색
- PyQt
- D4
- 코테
- the midnight library
- readingbook
- English
- SQL
- 원서읽기
- 알고리즘
- sw expert
- 코테 준비
- sw expert academy
- MySQL
- 삼성
- 코테 대비
- 프로그래머스
- 원서읽자
- 직무면접
- Today
- Total
목록완전탐색 (16)
시나브로
완전 쉬운 완전탐색 문제입니다. 처음 편하게 시도하기에 적합한 문제인듯합니다. Solution 재귀호출을 하면서 상담을 하는 경우와 안하는 경우 모두 탐색을 해줍니다. 그중에 max값을 선택합니다. Key Point 완전탐색 #include #include #include #include #include #include using namespace std; #define INF 10000000 int max_value = 0; int n = 0; int list[16][2] = { 0 }; void dfs(int value,int time) { if (time+1 > n) { if (value > max_value) max_value = value; return; } if (list[time][0] !=..
하드코딩으로 풀다가 예제는 다 맞는데 틀려서 결국 타블로그를 참조해서 해결하였습니다. Solution 모든 방향에서 위/아래/오른쪽/왼쪽으로 기울이는 경우를 생각한다/ 기울인 결과값을 queue에 push한다. push한 결과값을 불러와 다시 연산한다. check함수로 방문했는지 확인하고 방문했으면 push하지 않고 끝낸다. 그 이유는 그 값이 queue에 들어가 있기 때문이다. - 바로 d를 출력하고 멈춘 이유는 무조건 큐의 앞부분에 d가 작은 값이 위치하기 때문에 가장 먼저 찾은 값이 최솟값이 되기 때문입니다. Key Point 저는 예제7번을 이해하지 못해 어려움이 있었습니다. 한 방향으로 기울일 때, 빨간 구술이 구멍에 들어간 경우에도 파란 구술이 구멍에 들어가면 fail입니다. 재귀호출을 구현하..

완전탐색[전탐색] 완전탐색은 고려할 수 있는 모든 경우의 수를 탐색하여 적합한지 부적합한지 확인하는 것이다. 이는 모든 경우에 솔류션이 될 수 있지만, 적합한 솔류션은 아닙니다. 왜냐하면 데이터 양이 증가하면 할수록 경우의 수가 많아 한정된 시간에 모든 경우의 수를 탐색할 수 없기 때문입니다. 하지만, 데이터 양이 한정되어 있다면, 완전탐색은 좋은 솔류션이 될 수 있습니다. 깊이 우선 탐색 [ DFS : Depth First Search ] 깊이 우선 탐색은 전탐색을 하는 탐색 방법 중 하나이며, 어떤 상태부터 시작하여 이동이 불가능할 때까지 진행하다가 이동이 불가능하면 바로 전 상태로 돌아오는 것을 반복함으로써 답을 구하는 방식입니다. 구현할 때는 재귀함수를 이용하기 때문에 스택이 사용됩니다. 여기서 ..
DFS/BFS를 이용하는 문제이다. 네트워크가 몇개인지 확인하는 문제로 모든 점을 한바퀴 볼면서 깊이우선탐색을 해주었다. 만약 이전의 점에서 그 점을 방문했는 경우를 제외하고 갯수를 세주면 답이 된다. #include #include using namespace std; int point_list[210]; void dfs(int k,vector A){ for (int i = 0; i < A.size(); i++) { if (A[k][i] == 1&&point_list[i]==0) { point_list[i] = 1; dfs(i, A); } } } int solution(int n, vector computers) { int answer = 0; for (int i = 0; i < computers.si..