카카오인턴 3

[프로그래머스/JAVA] 동굴탐험

풀이 위상정렬, deque 사용 현재 방문한 방과 연결된 방 전부를 que의 앞에 넣음 진입차수가 0보다 클 경우 탐색이 불가하므로 que의 뒤에 넣음 비고 queue => deque 했을 뿐인데 효율성 마지막 케이스를 통과했다 ㅎㅂㅎ...! 어렵다 어려워~ 더보기 package KakaoIntern2020.P67260_동굴탐험; import java.util.ArrayList; import java.util.Arrays; import java.util.Deque; import java.util.LinkedList; public class Solution { public static boolean solution(int n, int[][] path, int[][] order) { boolean answe..

[프로그래머스/JAVA] 경주로 건설

풀이 4방탐색/bfs visit 배열 대신 최저 값을 가지고 있는 2차원 int 배열 min을 사용 지금 비용이 min에 저장되어 있는 값보다 크면 continue dr, dc로 선언한 방향의 index가 상-0, 하-1, 좌-2, 우-3으로 index/2 값이 같으면 100원만, 다르면 600원 추가 여기서 상하/좌우 따질 필요없이 직전의 d와 현재 d만 같으면 100원 나머지는 600원 해도 될 듯 어차피 직전 d의 반대방향일 경우 min[][]의 값이 올라서 쓸모 없어짐 비고 if (min[nr][nc] < cost) continue; 처음에는 = 0 && c < N) return true; return false; } static class Node implements Comparable { in..

[프로그래머스/JAVA] 불량 사용자

풀이 아이디의 최대가 최대 8개이기 때문에 조합으로 가능 user id 중 banned id의 개수만큼 조합으로 고름 banned id에 해당하는 경우만 최종적으로 고른 user id의 index를 stringbuilder로 이어붙임 어차피 한자리수*banned id개수니까 가능함 이어 붙인 문자열을 set에 넣음 해당 문자열이 set에 존재할 경우 0 반환 아닐경우 1 반환 비고 각각 다른 banned_id에 의해 걸렸더라도 제재아이디의 목록이 같으면 하나의 경우임 더보기 package KakaoIntern2019.P64064_불량사용자; import java.util.HashSet; public class Solution { static HashSet set; static public int solu..