일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- disjoint set
- 세그먼트 트리
- spring security
- 스프링
- 문자열
- DP
- 다익스트라
- 알고리즘
- 위상정렬
- JPA
- 백준
- series
- equals
- 자바
- UML
- ddd
- 헥사고날 아키텍처
- 비트마스크
- springboot
- 이펙티브 자바
- java
- dataframe
- Redis
- 파이썬
- docker
- pandas
- BFS
- 데이터 flow
- dfs
- 포트앤어댑터 아키텍처
- Today
- Total
목록dfs (2)
코딩못하는사람
www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크� www.acmicpc.net 1.접근 바이러스가 퍼진다는 것을 보면 DFS를 쓰면 되겠다는 생각이 든다. 조건으로 0인 부분에 벽을 3개 세워야 한다고 하니 itertools의 combination을 이용해서 0인 부분으로 3개의 모든 조합을 만들고 모든 상황을 DFS 해보고 제일 바이러스가 적게 퍼지는 상황을 구하면 되겠다. 2.풀이 우선 배열을 입력받고 행과열 양끝에 벽이 있는 것처럼 1로 입력을 감싸준다. 다음으로 배열을 돌면서 0인 부분과 2..
www.acmicpc.net/problem/9466 9466번: 텀 프로젝트 이번 가을학기에 '문제 해결' 강의를 신청한 학생들은 텀 프로젝트를 수행해야 한다. 프로젝트 팀원 수에는 제한이 없다. 심지어 모든 학생들이 동일한 팀의 팀원인 경우와 같이 한 팀만 있을 www.acmicpc.net 1.접근 문제의 표를 보면 꼬리를 무는 사이클을 찾아야하는 것을 알 수 있다. 따라서 DFS나 while문을 통해 돌면서 사이클이 생기는 곳을 체크해주면 되겠다. 2.풀이 문제의 사이클에 대해서 생각해보자. 어느 부분에서라도 DFS를 통해 들어갔을때 꼬리를 물어서 사이클이 생기지 않는다면 방문했던 곳들은 어디서 들어가도 사이클이 생기지 않을 것이다. 하지만 어느 부분에서라도 사이클이 생기는 곳이라면 들어갔을 때 자기..