목록그래프 이론 (61)
기록방
👉 문제링크 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 🔸 문제 분석 🔸 n개의 정점 사이의 간선의 정보가 m개 입력된다. 연결된 노드의 묶음(연결 요소) 수를 출력한다. n개의 각 노드를 시작으로 BFS 혹은 DFS로 연결된 노드를 체크한다. 여기서는 BFS를 사용한다. BFS를 위해 큐와 visit 배열을 사용한다. visit 배열에 방문하지 않으면 0, 방문하면 묶음 번호를 저장한다. (0만 아니면 된다.) 묶음 수를 출력한다. 🔸 코드 ..
👉 문제링크 3182번: 한동이는 공부가 하기 싫어! H-ALGO 회원인 한동이는 공부하는것을 좋아하지 않는다. 하지만 약삭빠르게도 한동이는 공부도 하지 않으면서 어려운 시험을 통과하고 싶어한다. 그러던 와중 어느 날, 한동이의 동기가 한동이에 www.acmicpc.net 🔸 문제 분석 🔸 n과 n개의 숫자를 입력받는다. 숫자는 다음 숫자의 인덱스 번호를 가리킨다. 몇 번째 숫자 인덱스에서 시작해야 가장 많은 숫자를 걸치는지 출력한다. 🔸 코드 🔸 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt();..
👉 문제링크 1388번: 바닥 장식 형택이는 건축가이다. 지금 막 형택이는 형택이의 남자 친구 기훈이의 집을 막 완성시켰다. 형택이는 기훈이 방의 바닥 장식을 디자인했고, 이제 몇 개의 나무 판자가 필요한지 궁금해졌다. 나 www.acmicpc.net 🔸 문제 분석 🔸 n x m 바닥에서 판자가 몇 개인지 출력한다. '-'가 가로로 이어지거나, '|'가 세로로 이어지면 하나의 판자이다. 🔸 코드 🔸 import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.i..
👉 문제링크 16173번: 점프왕 쩰리 (Small) 쩰리는 맨 왼쪽 위의 칸에서 출발해 (행, 열)로 나타낸 좌표계로, (1, 1) -> (2, 1) -> (3, 1) -> (3, 3)으로 이동해 게임에서 승리할 수 있다. www.acmicpc.net 🔸 문제 분석 🔸 n x n 크기의 게임판에서 왼쪽 위 (0,0)부터 탐색하며 오른쪽 아래 (n-1, n-1)에 도착할 수 있는지 결과를 출력한다. 현재 게임판 위치의 값만큼 오른쪽 혹은 아래쪽 한 방향으로 정확히 그 값만큼 움직일 수 있다. 판을 넘어가면 안된다. 🔸 코드 🔸 import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class Main { p..
👉 문제링크 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net 🔸 문제 분석 🔸 지렁이가 퍼지는 범위는 배추가 가로세로로 붙어있는 범위를 뜻한다. 붙어있는 배추 그룹이 몇 개인지 출력한다. 🔸 코드 🔸 import sys from collections import deque dxy = [[0,-1],[-1,0],[0,1],[1,0]] for _ in range(int(sys.stdin.readline())): m, n ,k = map(int, sys.stdin.readline().rstrip().split()) field ..