[프로그래머스, Java] 단어 변환
·
CodingTest/Programmers
⭐ 아이디어모두를가지고~~ -> dfs (stack)가능한 최소의 경우 -> bfs (queue)begin hittarget cogwords 안에 target이 없으면 return 0(begin, count=0)을 stack에 넣고 시작while(!isEmpty)꺼낸값과 하나만 차이나는 단어 찾기 -> 어떻게 최적화? target의 index로 분기하기 현재 target(i) 와 pop(i)가 같으면 넘어가 다르다면 -> pop(i)를 target(i)로 변경한 전체 문자를 words에서 찾기 -> 찾았다면 해당 단어로 변경하고 count+1 하기 -> target과 같다면 answer 와 count를 크기비교하여 작은 값을 저장하기 ..
[프로그래머스, Java] 게임 맵 최단거리
·
CodingTest/Programmers
💡풀이 1import java.util.ArrayDeque;import java.util.Queue;class Solution { public int solution(int[][] maps) { int sizeX = maps.length; // x 길이 int sizeY = maps[0].length; // y 길이 //sizeX*sizeY 배열 visited 만들기 boolean[][] visited = new boolean[sizeX][sizeY]; //분기 - bfs Queue queue = new ArrayDeque(); queue.offer(new int[]{0, 0}); while(!qu..
[프로그래머스, Java] 네트워크
·
CodingTest/Programmers
💡풀이 1- node 클래스를 만들어서 풀이import java.util.ArrayDeque;import java.util.ArrayList;import java.util.Deque;import java.util.List;class Solution { class Node { String name; List links = new ArrayList(); boolean visited = false; Node(String name) { this.name = name; } private List getLinks() { return this.links; } private..
[Java] BFS, DFS를 Java로 구현해보자
·
Backend/Java
자바로 그래프 구현하기그래프를 구현하기 위해, 각 노드의 데이터와 다른 노드와의 연결 정보를 가질 수 있는 Node 클래스를 직접 만들어 보겠습니다.1. Node 클래스 정의하기노드는 고유한 데이터(예: 이름)를 가지며, 어떤 노드들과 연결되어 있는지에 대한 목록을 가집니다. 또한, 그래프 탐색 시 이미 방문한 노드인지를 확인하기 위한 상태 값도 필요합니다.import java.util.ArrayList;import java.util.List;import java.util.Objects;public class Node { private String name; // 노드의 이름 private List links; // 연결된 노드 목록 private boolean visited; // 방문..