코딩 테스트/Java 문제 풀이

1. 문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 2. 풀이 과정1번 마을에서 각 마을까지의 최단거리를 구하고 그 최단거리가 K보다 작은 곳의 수를 알아내면 되는 문제이다. 해당 그래프는 가중치가 있는 그래프이기 때문에 최단거리를 구할 때 다익스트라 알고리즘을 통해 구할 수 있다.바로 코드를 보자.3. 내 코드import java.util.*;class Solution { class Node { int dest; int weight; Node(int dest, int weight) { ..
1. 문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 2. 풀이 과정무조건 레버를 거친 후 도착지점가지 가야한다. 따라서 두 번의 최단거리를 구해야 한다. 1. 시작지점(S) ➡️ 레버(L)2. 레버(L) ➡️ 출구(E) 두 번의 최단거리를 구한 후 둘을 더하면 된다. 해당 구조에서 최단거리를 구하기 위해선 너비 우선 탐색을 활용해볼 수 있다.왜냐하면 지점간에 가중치가 존재하지 않기 때문이다. 너비 우선 탐색(BFS)을 통해 최단거리 구하기1. 시작지점(S) ➡️ 레버(L)시작지점에서 레버까지의 최단거리는 4  2. 레버(L) ➡️ 출구(E)레버에서 출구..
1. 문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr2. 풀이 과정0. 초기 상태 1. 0부터 깊이 우선 탐색을 통해 컴퓨터들을 방문한다.깊이 우선 탐색이 끝나면 네트워크 개수를 하나 증가시킨다. --> 1 2. 방문하지 않은 노드를 시작 노드로 하여 다시 깊이 우선 탐색을 한다.깊이 우선 탐색이 끝나면 네트워크 개수를 하나 증가시킨다. --> 23. 방문하지 않은 노드가 없을 때까지 반복한다.모든 노드를 방문했으므로 끝네트워크 개수: 23. 내 코드import java.util.*;class Solution { public int solution(..
1. 문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 2. 풀이 과정해당 문제는 가중치가 없는 그래프에서 최단 거리를 구하는 문제이다. 가중치가 없는 그래프에서 최단 거리를 구하기 위해선 너비우선탐색(BFS)를 활용할 수 있다. 과정은 다음과 같다. 1. (0, 0)에서 시작해서 (n-1, m-1)까지의 최단거리를 구해야 한다.2. 거리를 표시할 해당 맵과 똑같은 크기의 배열을 하나 더 만들어서 출발점을 1, 나머지는 0으로 초기화한다. 3. 0,0에서부터 너비우선 탐색을 시작한다. 이때 방문하는 노드의 거리 값은 현재 노드 + 1로 한다.     결과는..
jaehee1113
'코딩 테스트/Java 문제 풀이' 카테고리의 글 목록 (5 Page)