[프로그래머스 알고리즘 고득점 Kit][깊이/너비 우선 탐색(DFS/BFS)][Java] 단어 변환
·
알고리즘 & 자료구조/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/43163?language=java 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr1. target이 단어 집합에 있나 확인 -> 없어서 틀렸었음2. 하나가 다르면 바꿀 수 있다를 갈 수 있다고 생각하면 Node끼리의 최단 거리로 생각할 수 있다.3. bfs에 begin을 넣고 단어 집합에 하나만 다른 단어를 q에 넣고 count를 늘려서 레벨별로 나아간다.3.1) Node 클래스를 만들어서 count를 같이 보내주면서 노드 하나씩 보는 방법도 있지만 여기서는 같은 레벨에 있는 단어들을 하나씩 확인하고 다음으..
[프로그래머스 알고리즘 고득점 Kit][깊이/너비 우선 탐색(DFS/BFS)][Java] 네트워크
·
알고리즘 & 자료구조/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 정답 코드 그래프를 만들어서 각 숫자마다 bfs로 연결된 부분을 방문체크를 하고 0 ~ n-1 에서 bfs 메서드가 발동된 부분을 세어주면된다.나는 이 방법보단 유니온파인드(분리집합)이 먼저 생각이 들었기 때문에 각 연결점을 union 해주고부모노드를 저장하는 p 배열의 루트의 갯수(음수로 랭크를 관리)가 네트워크의 갯수가 된다.import java.util.*;class Solution { int[] p; public int ..