목록2022/01/20 (2)
잡다한 IT 지식
본 알고리즘 풀이는 Routine Study에서 진행하고 있습니다. 저를 포함한 구성원이 대부분 초보이므로, 원하시는분은 언제라도 들어오셔도 좋습니다. 문의는 댓글 바람. 문제 출처 :https://www.acmicpc.net/problem/11724 [문제 설명] 그래프가 총 몇개인지 구하시오. [접근 방법] 노드들을 모두 입력 받은 후, 탐색을 통하여 그래프 하나를 전부 순회하면 개수를 하나 추가하는 방법으로 풀었다. 그래프를 BFS로 모두 순회하므로 시간복잡도는 O(N+M). 공간복잡도도 인접행렬로 구현할 경우 O(N^2)이라, 연결리스트로 구현해서 O(N+M)가 된다. 결론 : 시간 복잡도 O(N+M) 공간복잡도 O(N+M) [내 답안 수정하기] import java.io.BufferedReade..
본 알고리즘 풀이는 Routine Study에서 진행하고 있습니다. 저를 포함한 구성원이 대부분 초보이므로, 원하시는분은 언제라도 들어오셔도 좋습니다. 문의는 댓글 바람. 문제 출처 : https://www.acmicpc.net/problem/18352 [문제 설명] 어느 도시로부터 특정 거리의 있는 도시들을 오름차순으로 출력하시오. [접근 방법] 시작 도시를 기준으로 BFS하여, 같은 층(같은 거리)에 있는 요소들을 반환하면 된다. 주의해야 할 점은 사이클(시작점과 끝점이 같은 경로)이 있으므로 방문 여부를 체크해줘야 한다는 것과 오름차순으로 결과를 반환해야 한다는 것. 리스트에 넣어서 퀵정렬을 통해 정렬한 후에 반환해줘도 되겠지만, 그것보다는 메모리를 추가적으로 쓰더라도 배열을 따로 만들어서 리턴해주..