출처
https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=4&contestProbId=AWngfZVa9XwDFAQU&categoryId=AWngfZVa9XwDFAQU&categoryType=CODE&problemTitle=&orderBy=INQUERY_COUNT&selectCodeLang=PYTHON&select-1=4&pageSize=10&pageIndex=2
과정
1
- a리스트에 사람들 간의 관계를 저장해준다.
- 사람들 간의 관계를 확인했나 안했나 확인할 check리스트를 만들어준다.
- 무리의 수를 셀 cnt를 0으로 정의해준다.
- i번사람부터 방문하지 않았다면 i번 사람에 대해 관계를 따져준다.
cnt에 1을 더해준다(dfs()함수 한번 실행하고 나면 무리가 1개있다는 뜻이므로)
- dfs()함수에서 x에 대해 방문확인(True)해준다.
a[x]안에 있는 i에 대해 방문하지 않았다면 i에 대해서 dfs(i)(관계를 따져준다)실행한다.
- 테스트 케이스 번호와 cnt를 출력한다.
2
- a리스트에 사람들 간의 관계를 저장해준다.
- 사람들 간의 관계를 확인했나 안했나 확인할 check리스트를 만들어준다.
- 무리의 수를 셀 cnt를 0으로 정의해준다.
- i번사람부터 방문하지 않았다면 i번 사람에 대해 관계를 따져준다.
cnt에 1을 더해준다(bfs()함수 한번 실행하고 나면 무리가 1개있다는 뜻이므로)
- q를 만들어주고 q에 x를 넣어주고 x에 대해 방문확인(True)해준다.
- a[x]안에 있는 i에 대해 방문하지 않았다면 i에 대해서
방문확인(True)해주고 i를 q에 추가해준다.
- 테스트 케이스 번호와 cnt를 출력한다.
정답 코드
1
2