본문 바로가기

분류 전체보기65

[백준][파이썬]11724번: 연결 요소의 개수 문제 출처 : 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 내 풀이 1차 (시간초과) n, m = map(int, input().split()) arr = [[0] * n for _ in range(n)] visit = [0] * n answer = 0 def bfs(num): k = [num] while k: a = k.pop(0) for i in range(n): if arr[a][i] =.. 2021. 4. 7.
[백준][파이썬]1966번: 프린터 큐 문제 출처 : www.acmicpc.net/problem/1966 1966번: 프린터 큐 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 www.acmicpc.net 내 풀이 from collections import deque k = int(input()) for i in range(k): arr = deque() answer = 0 cnt = 0 n, m = map(int, input().split()) doc = list(map(int, input().split())) for i in range(n): arr.append((doc[i], i)) doc.sor.. 2021. 4. 7.
[백준][파이썬]2060번: 바이러스 문제 출처 : www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net 내 풀이 보자마자 일전에 풀었던 양방향 그래프가 생각났다. 새로운 배열에 넣기보다 이전에 풀었던 것 처럼 dict를 이용해서 풀면 간단 할 것 같았다. 각 dict에 연결된 컴퓨터들을 집어넣고 연결된 것이 있는지 돌리니 간단히 해결 됐다. n = int(input()) m = int(input()) computer = dict() virus = [] check_virus = [] def check(y).. 2021. 4. 6.
[백준][파이썬]1012번: 유기농 배추 문제 출처 : www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net 내 풀이 bfs 문제였다. 맵을 돌면서 1인지 아닌지 체크해준 후 1, 즉 배추일 경우 bfs를 돌리면서 방문 한 곳을 0으로 바꿔준다. 후에 bfs가 끝나면 answer 에 1을 더하면서 카운트해준다. from collections import deque t = int(input()) move = [[1, 0], [-1, 0], [0, 1], [0, -1]] def bfs(a, b): larva = dequ.. 2021. 4. 6.