본문 바로가기

BFS4

네트워크 - Python, DFS, BFS, Union_find https://school.programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이 - 나의 생각이게 왜 Lv.3일까?   코드def solution(n, computers): def dfs(node): visited[node] = True for neighbor, connected in enumerate(computers[node]): if connected and not visited[neighbor]: dfs(neighbor) visi.. 2024. 11. 21.
게임 맵 최단거리 - Python, deque, bfs https://school.programmers.co.kr/learn/courses/30/lessons/1844?language=python3 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr   풀이 - 나의 생각전형적인 BFS 입문 문제라고 생각합니다. que에 시작 위치를 넣고 상하좌우를 살피면서 이동하는 거리를 저장해가다가 원하는 위치에 도달하면 그 값을 retrun해줍니다. dfs랑 다르게 그 위치에 도달한 첫번째 값이 최단 거리이기 때문입니다. 코드 from collections import dequedef solution(maps): n, m = len(maps), len(maps[0]).. 2024. 11. 10.
네트워크 - BFS https://school.programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   풀이 - 나의 생각방문을 하면서 시작점을 기록합니다. ex. A에서 시작해서 도착한 곳은 다 A로 저장 그 후에 Set으로 저장된 시작점의 개수를 중복없이 세면 네트워크의 개수가 나옵니다.  코드 import java.util.*;class Solution { public int solution(int n, int[][] computers) { int answer = 0; .. 2024. 7. 22.
백준 > 12886번 > 돌 그룹 BFS, DFS - JAVA https://www.acmicpc.net/problem/12886 문제 오늘 강호는 돌을 이용해 재미있는 게임을 하려고 한다. 먼저, 돌은 세 개의 그룹으로 나누어져 있으며 각각의 그룹에는 돌이 A, B, C개가 있다. 강호는 모든 그룹에 있는 돌의 개수를 같게 만들려고 한다. 강호는 돌을 단계별로 움직이며, 각 단계는 다음과 같이 이루어져 있다. 크기가 같지 않은 두 그룹을 고른다. 그 다음, 돌의 개수가 작은 쪽을 X, 큰 쪽을 Y라고 정한다. 그 다음, X에 있는 돌의 개수를 X+X개로, Y에 있는 돌의 개수를 Y-X개로 만든다. A, B, C가 주어졌을 때, 강호가 돌을 같은 개수로 만들 수 있으면 1을, 아니면 0을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 A, B, C가 주어진다. (.. 2023. 9. 3.