목록그래프 탐색 (45)
기록방
👉 문제링크 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 ..
👉 문제링크 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모 www.acmicpc.net 🔸 문제 분석 🔸 땅 크기(N)와 인구 최소, 최대값(L,R)이 주어지고, 2차원 배열 형태의 인구수가 주어진다. 인구수의 차이가 L, R 값 사이라면, 국경선을 연다. 국경선이 열려서 통행이 가능한 나라들을 한 그룹으로 묶는다. 한 그룹의 평균 인구수를 그룹내 모든 칸에 채운다. (인구를 평준화한다) 이 평준화 작업은 BFS로 구현하면 될 것 같다. 국경선이 한 곳이라도 열렸다면, 인구 이동이 있으므로 하루가 지나야 한다. 🔸 코드 🔸..