본문 바로가기

BFS4

백준 17472 다리 만들기2 17472번: 다리 만들기 2 첫째 줄에 지도의 세로 크기 N과 가로 크기 M이 주어진다. 둘째 줄부터 N개의 줄에 지도의 정보가 주어진다. 각 줄은 M개의 수로 이루어져 있으며, 수는 0 또는 1이다. 0은 바다, 1은 땅을 의미한다. www.acmicpc.net 문제 핵심 파악하기. 1. 모든 섬을 최소 길이의 다리로 모두 이어줄 때 다리 길이의 합을 출력하는 문제입니다. 2. 섬과 섬을 다리로 이어줄 때 길이는 2이상이어야 하며, 다리가 교차하더라도 교차 구간의 길이가 1이 되는 것이 아닌 각각의 다리의 길이를 포함하여야 합니다. 풀이. 1. 각각의 섬을 다음과 번호를 붙여 구분해 줄 것입니다. 2. 각각의 섬이 다른 섬으로 이동할 때 최소 거리를 완전 탐색 + bfs를 이용하여 구해줍니다. 3. .. 2022. 5. 28.
백준 19238 스타트 택시 js 19238번: 스타트 택시 첫 줄에 N, M, 그리고 초기 연료의 양이 주어진다. (2 ≤ N ≤ 20, 1 ≤ M ≤ N2, 1 ≤ 초기 연료 ≤ 500,000) 연료는 무한히 많이 담을 수 있기 때문에, 초기 연료의 양을 넘어서 충전될 수도 있다. 다 www.acmicpc.net 이번 문제는 그래프 문제나 bfs 탐색 문제를 많이 풀어보셨다면, 단순해 보일 수 있는 문제입니다. 하지만, 단순하지 않을 수 있습니다. 꼼꼼함과 예외처리가 요구되는 문제입니다. 요약하면 다음과 같습니다. 모든 승객들을 태워서 목적지에 데려다줄 때 소모되고 남은 연료량이 정답이 됩니다. 택시의 위치로 부터 가장 가까운 승객부터 태우게 되는데, 가까운 승객이 여러 명이라면 그중 행 번호가 가장 작은 승객을, 그런 승객도 여러 .. 2022. 5. 3.
백준 3197 백조의 호수 js 3197번: 백조의 호수 입력의 첫째 줄에는 R과 C가 주어진다. 단, 1 ≤ R, C ≤ 1500. 다음 R개의 줄에는 각각 길이 C의 문자열이 하나씩 주어진다. '.'은 물 공간, 'X'는 빙판 공간, 'L'은 백조가 있는 공간으로 나타낸다. www.acmicpc.net 요약하면 다음과 같습니다. 하루 간격 물과 접촉한 빙판이 녹습니다. 얼음에 막혀 서로 만나지 못하는 백조 두 마리가 만나기 위해 며칠이 지나야 하는지 출력하면 됩니다. 아이디어 탐구. 단순히 생각했을 때 얼음을 하루 녹이고, 백조가 서로 만날 수 있는지 탐색하는 과정을 반복하면 정답을 찾을 수 있습니다. 하지만 호수의 행, 열이 1 ≤ R, C ≤ 1500로 넓기 때문에 매일마다 이전의 과정을 반복하면 시간 초과를 예상할 수 있습니다.. 2022. 3. 20.
프로그래머스 LV.4 지형 이동 js 코딩테스트 연습 - 지형 이동 [[1, 4, 8, 10], [5, 5, 5, 5], [10, 10, 10, 10], [10, 10, 10, 20]] 3 15 [[10, 11, 10, 11], [2, 21, 20, 10], [1, 20, 21, 11], [2, 1, 2, 1]] 1 18 programmers.co.kr 그래프 문제가 풀고싶던 와중에 문제 제목만 봐도 그래프 문제 느낌이 나서 오늘은 "지형 이동" 문제를 풀어 보겠습니다. 문제 속에 핵심찾기. 문제를 보면 아무 칸에서 출발하여 모든 칸을 방문할 때 비용의 최솟값을 return하는 문제입니다. 따라서 모든 칸을 최소 비용의 간선으로 잇는 점을 보아 크루스칼 알고리즘을 떠올릴 수 있습니다. 문제의 예시에서 또 하나의 아이디어를 주고 있는것 같습니.. 2022. 3. 11.