반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 영어회화
- 문제풀이
- 미분방정식
- English
- 백준
- ODEs
- 공수 문제풀이
- Problem set 1.5
- vocabulary
- 스피치 연습
- 미방
- Ode
- Advanced Engineering Mathematics
- 공업수학
- 공수1
- Problem Set 1.4
- SW역량테스트
- 비제차 상미분 방정식
- Homogeneous ODEs
- kreyszig
- Problem set 2.7
- 공학수학
- 삼성SW역량테스트
- Python
- homogeneous
- Conversation
- 코딩테스트
- 공수
- Nonhomogeneous ODEs
- speech
Archives
- Today
- Total
한걸음
백준 11724 : 연결 요소의 개수 본문
반응형
https://www.acmicpc.net/problem/11724
11724번: 연결 요소의 개수
첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주
www.acmicpc.net
BFS 기본 구조를 이해하고 있는지 물어보는 문제.
앞으로 역량 테스트 준비하면서 github도 사용해봐야겠다.
1. BFS
연결 요소들을 graph 에 담아서 너비 탐색을 시행한다. 연결 뭉치들이 여러개 있을 수 있으므로 각 노드를 전부 탐색하되, 방문 리스트를 활용해 이미 방문한 적이 있는 것은 같은 뭉치에 속해 있으므로 패스하는 방식으로 코드를 구현했다.
2. 전체코드
메모리 184288 KB, 시간 784 ms
SW 코딩 테스트 준비를 다시 하면서 몸풀기로 풀어보았다.
N, M = map(int, input().split())
graph = [[] for _ in range(N+1)]
count = 0
for i in range(M):
n1, n2 = map(int, input().split())
graph[n1].append(n2)
graph[n2].append(n1)
# 낮은 순서대로 정렬해주자
# 일반적인 너비 탐색은 낮은 숫자부터 진행하기 때문에
for i in range(1, N+1):
graph[i].sort()
def bfs(arr):
global count
# 너비 탐색이 끝난 뭉치 +1
visited = [False for _ in range(N + 1)]
for i in range(1, len(arr)):
if not visited[i] :
visited[i] = True
count += 1
q = [arr[i]]
while q :
x = q[0]
del q[0]
for j in x :
if not visited[j] :
visited[j] = True
q.append(arr[j])
return
bfs(graph)
print(count)
https://github.com/HPYoo/swcodingtest/blob/main/prob11724.py
GitHub - HPYoo/swcodingtest: 코딩테스트 대비 연습
코딩테스트 대비 연습. Contribute to HPYoo/swcodingtest development by creating an account on GitHub.
github.com
반응형
'Coding Test' 카테고리의 다른 글
백준 9205 : 맥주 마시면서 걸어가기 (1) | 2023.11.14 |
---|---|
백준 11060 : 점프 점프 (1) | 2023.11.13 |
백준 17144 : 미세먼지 안녕! (0) | 2023.10.30 |
백준 16235 : 나무 재테크(파이썬) (1) | 2023.10.27 |
백준 16234 : 인구 이동(파이썬) (0) | 2023.10.26 |