본문 바로가기

알고리즘

(70)
프로그래머스 - 네트워크(DFS/BFS 두가지 풀이 법) https://programmers.co.kr/learn/courses/30/lessons/43162 코딩테스트 연습 - 네트워크 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있�� programmers.co.kr 프로그래머스 네트워크 문제입니다. DFS, BFS로 두가지 방법으로 풀어보았습니다. 소스의 BFS 매서드 사용부분에 DFS 매서드를 사용해도 정답이 나옵니다. import java.util.LinkedList; import java.util.Queue; public class 네트워크2 { class Solution { boolean[] visited;..
백준 16236 - 아기상어 시뮬레이션 + BFS BFS를 여러번 실행하는 방법이 필요 참고 : na982 블로그 import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class Main { static int N; static int[][] map; static boolean[][] visited; static int sharkEat, sharkSize; static Shark shark; static int[] dy = { 0, 0, -1, 1}; static int[] dx = {-1 ,1, 0 , 0}; static class Shark{ int y; int x; int time; Shark(int y, int x, int t..
백준 17779 - 게리멘더링 2 9시뮬레이션 import java.util.Scanner; public class Main{ static int N; static int[][] map; static int[][] tempMap; static int d1, d2, x1, y1; static int min = 99999; static int max = 0; static int result = 9999; public static void main(String[] args){ // 1. init Scanner sc = new Scanner(System.in); N = sc.nextInt(); map = new int[N+1][N+1]; tempMap = new int[N+1][N+1]; for(int i=1; i
백준 14888 - 연산자 끼워넣기 DFS 조합 + 시뮬레이션 import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; import java.util.Stack; public class Main { static int N; static int[] map; static int[] operation; static boolean[] visited; static int[] oper; static int resultMax = -98765432; static int resultMin = 98765432; static LinkedList list = new LinkedList(); public static void main(String[] args){ Scanner s..
백준 15686 - 치킨배달 백트래킹 -> DFS 조합 import java.util.LinkedList; import java.util.Scanner; public class Main { static int N; static int M; static int[][] map; static int house = 0; static int[] pick = new int[13]; static int[][] tempMap; static LinkedList list = new LinkedList(); static int sum =0; static int result = 9999; public static void main(String[] args){ Scanner scanner = new Scanner(System.in); N = scanner..
백준 14500 - 테트로미노 DFS + 시뮬레이션 ㅗ 모양을 예외처리 하는 것이 필요 import java.util.Scanner; public class Main { static int N, M; static int map[][]; static boolean visited[][]; static int[] dx = {0, 0, -1, 1}; static int[] dy = {-1, 1, 0, 0,}; static int sum = 0; static int result = 0; public static void main(String[] args){ Scanner sc = new Scanner(System.in); N = sc.nextInt(); M = sc.nextInt(); map = new int[N+1][M+1]; visited..
백준 17144 - 미세먼지 안녕!(실패 -> 성공) 공기청정기 순환 부분의 인덱스를 잘 조절하는 것이 필요 import java.util.Scanner; public class Main { static int N, M, T; static int[][] map, temp, cnt, airMap; static int[] dx = {-1, 1, 0, 0}; static int[] dy = {0, 0, -1, 1}; static int airX1=0; static int airX2=0; static int result; static void initMap(){ for(int i=0; i
SWEA - 요리사 백트래킹 import java.io.FileInputStream; import java.util.Scanner; class Solution { static int N; static boolean[] visited; static int map[][]; static int result; public static void main(String args[]) throws Exception { Scanner sc = new Scanner(System.in); int T; T=sc.nextInt(); /* 여러 개의 테스트 케이스가 주어지므로, 각각을 처리합니다. */ for(int test_case = 1; test_case