본문 바로가기

알고리즘5

아이템 줍기 프로그래머스(lv3)(bfs) import java.util.LinkedList; import java.util.Queue; class Solution { public int solution(int[][] rectangle, int characterX, int characterY, int itemX, int itemY) { int answer = 0; //최단거리니 bfs //겹치는 부분이 선따라 움직이지않고 건너뛸 수 있으니 2배늘리고, Boolean[][] graph = new Boolean[102][102]; characterX *=2; characterY *=2; itemX *=2; itemY *=2; for(int i = 0 ; i < rectangle.length ; i++) { int[] doub = rectangle[i.. 2024. 2. 4.
순위 프로그래머스(lv3) 49191 https://school.programmers.co.kr/learn/courses/30/lessons/49191 import java.util.Arrays; import java.util.Comparator; import java.util.HashMap; //visited 값을 들고와서 대입 ,false가 1개여야함 class Solution { static boolean[][] result ; static int answer; static boolean[][] visited ; public int solution(int n, int[][] results) { visited = new boolean[n][n]; //visited 배열 초기화 for(int i = 0 ; i < results.length.. 2024. 2. 2.
여행경로 프로그래머스 lv3 (dfs,bfs) import java.util.ArrayList; import java.util.Arrays; class Solution { //dfs //모든 항공권 사용 //알파벳 사전순 //백트래킹 - 사전순으로 들어가다 모든 항공권 사용이 불가능 할 수 있따. static boolean visited[] ; static ArrayList list = new ArrayList(); static ArrayList list1 = new ArrayList(); static String[][] tickets; public String[] solution(String[][] tickets) { this.tickets = tickets; String[] answer = new String[tickets.length+1]; l.. 2024. 1. 31.
단어변환 43163 프로그래머스(lv3) (dfs,bfs) https://school.programmers.co.kr/learn/courses/30/lessons/43163 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr dfs 풀이 tip- 방문하지 않은 단어 중에 현재 단어에서 한 알파벳만 변경하여 변환 가능한 단어들로 DFS를 진행하고 목표에 도달한 경우 최소 변환 횟수를 갱신한다. class Solution { static int answer = Integer.MAX_VALUE; static boolean[] visited; static String words[]; //주요 조건 //dfs, 한 단어 차이인.. 2024. 1. 24.
네트워크 프로그래머스 (LV3 ) https://school.programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import java.util.*; class Solution { static boolean visited[]; static int answer = 0; static int[][] computer; public static void dfs(int v) { //탈출조건 if(visited[v])return; //구현동작 visited[v]= true; for(int i = 0 ; i < visite.. 2024. 1. 24.