목록Problem Solving (88)
새발블로그
문제https://www.acmicpc.net/problem/21736풀이방법맵 입력받기BFS를 도연이(I부터)BFS이동공간은 O일 때 (조건에 X가 아닐 때 추가해줘야함)BFS중 다음 탐색 경로가 P이면 만날 사람 수 카운팅 해주기카운트수가 0이면 TT 출력풀이import java.util.*;import java.io.*;public class Main { public static int bfs(int N, int M, int[] cur, char[][] campus, boolean[][] visited, int pCnt) { //동 북 서 남 int[] dx = {0, 1, 0, -1}; int[] dy = {1, 0, -1, 0}; Queue..
문제https://www.acmicpc.net/problem/10026풀이방법합쳐져있는 그래프 받기일반사람이 보는 그래프랑 적록색약이 보는 그래프를 만듦각각 BFS풀이import java.util.*;import java.io.*;import java.lang.*;public class Main{ public static void BFS(int N, char[][]map, boolean[][]visited, int[] cur) { int[] dx = {0, -1, 0, 1}; int[] dy = {1, 0, -1, 0}; Queue queue = new ArrayDeque(); queue.add(cur); while (!queue.isE..
문제https://www.acmicpc.net/problem/1260풀이방법인접노드 순회시 오름 차순으로 해야함172ms (arrayDeque는 196ms)→ ArrayDeque에 초기값 설정하면됨풀이import java.io.*;import java.util.*;public class Main{ static StringBuilder sb = new StringBuilder(); public static void DFS(int curV, List> graph, boolean[] visited) { visited[curV] = true; sb.append(curV).append(" "); for (int next : graph.get(curV)) { ..
문제https://www.acmicpc.net/problem/2467풀이방법0과의 절댓값으로 가장 가까운지 판단하면서 left, right 값 저장풀이import java.util.*;import java.io.*;import java.lang.*;public class Main{ public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); int[] arr = new int[N]; StringToke..
문제https://www.acmicpc.net/problem/2805풀이방법이진탐색을 해서 자를 높이를 정해야함자를 높이를 정했을 때 그게 M보다 작다? -> 그러면 더 낮게 잘라야함자를 높이 정했을 때 M보다 크거나 많다? -> 그러면 더 높게 잘라야함lower bound : 찾고자하는 특정값 이상인 첫 위치를 반환upper bound : 찾고자하는 특정값 초과인 첫 위치를 반환/upper bound를 구한 후 -1해서 높이의 최댓값 구함풀이import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main { pu..
문제https://www.acmicpc.net/problem/10816풀이방법애초에 저장하면서 등장 배열 횟수를 올림M 카드 주어졌을 때 해당 값 말하기풀이import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.HashMap;import java.util.StringTokenizer;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in));..
문제https://www.acmicpc.net/problem/15649풀이방법StringBuilder를 사용하면 시간이 정말 많이 줄어든다~~~풀이import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main{ public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = ne..
문제https://www.acmicpc.net/problem/10974풀이방법비트마스킹을 사용하여 visited 배열없이 풀기...풀이import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Main{ public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); int[] result = ..