bfs & dfs 문제를 풀 때 유의해야 할 점들 (생각해보며 업데이트!)
2022. 12. 26. 11:18
Algorithm
리스트가 범위 밖을 나가는 경우 진짜 나가게 설정했거나 배열이 제대로 선언이 잘 된건지 확인해봐라 방문여부 처리 방문여부 처리가 반복적으로 초기화되어야 하지 않는지 살펴보기 dfs 와 bfs 연계 둘을 연계해야 하는 문제일 수도 있다. 값 갱신 값이 갱신되어야 하는 방식에 어떤 문제가 있는 지 살펴보기
[백준 #16234 파이썬] 인구 이동
2022. 12. 19. 11:39
Algorithm
생각한 방법 전형적인 그래프 탐색이나 bfs 문제라고 생각했다. 바이러스 처럼 퍼지는 유형의 경우 dfs로 활용해서 푸는 것은 뎁스가 너무 깊어지기 때문에 이부분은 미리 배제하고 시작했다. 전형적인 bfs 풀이 방식으로 계획해야겠다고 생각한 이후 더 생각해야 하는 부분을 고려했다. 1. 전체 탐색 그래프에 있는 모든 값과 그를 중심으로 한 주변 값의 차이를 조사해야 한다. 어디에서 인구 이동이 일어날 지는 예측할 수 없으므로 모든 값에 대한 bfs 탐색이 필요하다. 2. 전체 탐색의 반복 인구 이동은 2일 이상 소요될 수 있다. 인구 이동이 일어난 이후 인구 이동이 일어난 지역과 일어나지 않았던 지역끼리 다시 비교해보면 새로운 인구 이동의 가능성이 있을 수 있다. 그러므로 bfs는 반복되어야 한다. 3...
[백준 #10974 파이썬] 모든 순열
2022. 7. 17. 23:30
Algorithm
완전 탐색 알고리즘 의미 그대로 전체를 탐색할 수 있도록 고안하는 알고리즘입니다. 문제를 해결함에 있어 어떻게 탐색을 해야할 지 다양하게 고민해보는 것이 중요합니다. 단순히 순차열적으로 해결할 수도 있고, 탐색에 어떤 조건이나 기준을 세워 전체를 바라보는 방법도 있습니다. 여러 방법으로 해결할 수는 있겠지만, 메모리 사용을 줄이고 탐색의 시간을 감소시키기 위해 더 효율적인 방법에 대해 고민하는 방법이 알고리즘 해결에 있어 가장 중요한 부분입니다. 10974 모든 순열 1부터 N까지의 수로 이루어진 순열을 사전순으로 출력하는 프로그램을 작성하시오. 10974번: 모든 순열 N이 주어졌을 때, 1부터 N까지의 수로 이루어진 순열을 사전순으로 출력하는 프로그램을 작성하시오. www.acmicpc.net N!줄..