알고리즘/BJ

    [BJ] 백준 10026 적록색약 (JAVA)

    [BJ] 백준 10026 적록색약 (JAVA)

    문제 https://www.acmicpc.net/problem/10026 풀이 방법 나는 DFS를 사용해서 풀었다. 아직 탐색을 안한 곳을 만나면 범위 카운트 변수에 1를 더해주고 DFS를 시작했다. 적록색약이 아닌 사람은 R, G ,B 모두 구별해서 탐색을 해줬고, 적록색약이라면 ch가 R or G일 때는 R or G 이면 탐색을 하도록 구현하였다. 제출 코드 import java.io.*; public class BJ_10026_적록색약 { static int[][] move= {{-1,0},{1,0},{0,-1},{0,1}}; static char[][] map ; static boolean[][] visitedN; static boolean[][] visitedG; static int N; pub..

    [BJ] 백준 2669 직사각형 네 개의 합집합의 면적구하기 (JAVA)

    [BJ] 백준 2669 직사각형 네 개의 합집합의 면적구하기 (JAVA)

    문제 https://www.acmicpc.net/problem/2669 풀이 방법 나는 단순하게 생각했다. 직사각형 좌표를 입력받고, arr을 돌면서 직사각형 범위안에 있다면 arr의 값을 1로 변경해줬다. 모든 사각형을 돌고나서, 마지막에 arr에 1의 개수를 세어서 출력해줬다. 제출 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class BJ_2669_직사각형네개의합집합의면적구하기 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(ne..

    [BJ] 백준 1759 암호만들기 (JAVA)

    [BJ] 백준 1759 암호만들기 (JAVA)

    문제 https://www.acmicpc.net/problem/1759 풀이 방법 골드 문제 치고는 간단한 듯 싶었다. 더 효율적인 방법이 있겠지만 나는 제일 먼저 떠오르는 방법으로 구현했다. 1. 주어진 문자들 중에서 L개를 뽑는 조합을 먼저 구하고 2. 완성된 조합을 가능성이 있는지 판단하는 순서로 구현했다. 제출 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.StringReader; import java.util.Arrays; import java.util.StringTokenizer; public class BJ_1759_암호만들기 { public..

    [BJ] 백준 1260 DFS와 BFS (JAVA)

    [BJ] 백준 1260 DFS와 BFS (JAVA)

    문제 https://www.acmicpc.net/problem/1260 풀이 방법 각 인접 정보를 저장한 후, DFS, BFS로 출력해주면 되는 간단한 문제이다. DFS는 재귀호출로 BFS는 큐를 사용했다. 제출 코드 public class BJ_1260_DFS와BFS { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); int N = Integer.parseInt(st.nextToken()); int M = Inte..

    [BJ] 백준 2477 참외밭 (JAVA)

    [BJ] 백준 2477 참외밭 (JAVA)

    문제 https://www.acmicpc.net/problem/2477 풀이 방법 처음에 살짝 헤맸던 문제였다. 그냥 단순히 예제만 보고 가로 중에 최대최소, 세로중에 최대최소 구하면 되는 줄 알았는데 아니였음;; 문제 제대로 읽자.... 우선 나는 가장 큰 사각형에서 내부에 있는 작은 사각형을 빼주는 식으로 구현하려고 했다. 어디에서 시작하든 규칙은 방향이 A - B - C - D - C - D 순으로 나온다. 시작만 다르지 순서는 거의 동일함. (A, B가 긴변이고, D, C가 내부의 작은 사각형의 가로세로) 그래서 생각한게 우선 가로 중에서 가장 큰 값, 세로 중 가장 큰 값을 찾은 후에 해당 인덱스에 +3을 해주는 것이였다. 제출 코드 public class BJ_2477_참외밭 { public ..

    [BJ] 10157 자리배정 (JAVA)

    [BJ] 10157 자리배정 (JAVA)

    문제 https://www.acmicpc.net/problem/10157 풀이 방법 1. 기저 조건: 찾고자 하는 대기 번호를 찾으면 출력 후 리턴 2. 좌석 배정하기 3. 다음 좌석위치로 업데이트 후 범위와 좌석 배치가 되어있는지 확인하기 4. 배치 가능하면 재귀 호출 5. 배치 불가능하면 방향 + 1 한 뒤 다시 위치 업데이트 후 재귀 호출 식으로 구현했다. 제출 코드 package day_0219; import java.util.Scanner; public class BJ_10157_자리배정 { public static int[][] move = {{1,0},{0,1},{-1,0},{0,-1}}; public static boolean[][] isSeated; public static int C, ..

    [BJ] 13305 주유소

    [BJ] 13305 주유소

    문제 https://www.acmicpc.net/problem/13305 풀이 방법 이동을 하면서 주유비가 최소인 도시에서, 다음 주유비 최소인 도시를 만나기 전까지의 거리만큼 주유를 다하고 가야겠다고 생각을 했다. 그래서 생각한게 위와 같은 로직이였다. 어짜피 두 개의 결과 값이 같은 점을 이용해서 나는 min에 현재 최소주유비용을 저장하고 한칸씩 이동을 하면서 min보다 더 작은 주유비용이 나오기 전까지는 해당 거리를 계속 min과 곱하고 sum에 더해주는 식으로 구현했다. 제출 코드 import java.io.*; import java.util.*; public class BJ_13305_주유소 { public static void main(String[] args) throws IOExceptio..

    [BJ] 0217 알고리즘 문제풀이(BJ_1987_알파벳, BJ_2491_수열,BJ_2564_경비원, BJ_3109_빵집,BJ_5052_전화번호목록 )

    [BJ_1987_알파벳] https://github.com/yoon828/Algorithm/blob/main/BOJ/BJ_1987_%EC%95%8C%ED%8C%8C%EB%B2%B3.java GitHub - yoon828/Algorithm Contribute to yoon828/Algorithm development by creating an account on GitHub. github.com => 이 문제는 백트래킹인데 나는 계속 알파벳을 사용했는지 확인하는 배열 정보가 계속 남아있어서 많이 해맸다. 나중에서야 코드 한줄만 추가하니 풀렸다. [BJ_2491_수열] https://github.com/yoon828/Algorithm/blob/main/BOJ/BJ_2491_%EC%88%98%EC%97%B4...

    [BJ] 0216 알고리즘 문제풀이(1992_쿼드트리, 2578_빙고)

    [1992_쿼드트리] https://github.com/yoon828/Algorithm/blob/main/BOJ/BJ_1992_%EC%BF%BC%EB%93%9C%ED%8A%B8%EB%A6%AC.java GitHub - yoon828/Algorithm Contribute to yoon828/Algorithm development by creating an account on GitHub. github.com [ 2578_빙고] https://github.com/yoon828/Algorithm/blob/main/BOJ/BJ_2578_%EB%B9%99%EA%B3%A0.java GitHub - yoon828/Algorithm Contribute to yoon828/Algorithm development by c..