전체 글 147

[백준 15686] 치킨 배달

https://www.acmicpc.net/problem/15686 *M개의 조합 구하기 > bfs 백트래킹으로 구현//백준 연습import java.util.*;import java.io.*;public class Main { static int N, M; static int[][] city; static class Node{ int x, y; // 좌표값 public Node(int x, int y) { this.x = x; this.y = y; } } // 집, 치킨 집 저장할 리스트 static ArrayList house_list = new ArrayList(); static ArrayList chicken_list = new ArrayList(); // 결과 저장 stat..

Algorithm/Baekjoon 2025.04.08

[백준 14503] - 자바 / 방향 고려해서 좌표 이동하기

방향 주의하기후진할 때는 방향 변경 안하는 거임package solution;import java.util.*;import java.io.*;// The main method must be in a class named "Main".class Solution { static int N, M; static int[][] room; static int result = 0; // 북(0), 동(1), 남(2), 서(3) static final int[] dx= {-1,0,1,0}; static final int[] dy= {0,1,0,-1}; public static void main(String[] args) throws Exception { ..

Algorithm/Baekjoon 2025.04.07

[백준 1167] Java - bfs 여러번 사용

🔵bfs 2번 탐색1. 임의의 정점에서 bfs > 거리 제일 먼게 가장 끝에 있는 정점임 >> 가장 끝에 있는 정점 구하기2. 가장 끝에 있는 정점에서 bfs 탐색 > 두 점 사이 중 가장 긴 거리 구하기 가능!import java.util.*;import java.lang.*;import java.io.*;// The main method must be in a class named "Main".class Main { static int V; // 정점 개수 static int[] dist; // 거리 저장 static ArrayList[] adjList; // 인접노드 저장 static boolean[] visited; // 방문여부 저장 static class N..

Algorithm/Baekjoon 2025.03.01

[백준 1260] Java - dfs, bfs / 가능한 작은 정점 방문하는 경우

import java.util.*;import java.lang.*;import java.io.*;// The main method must be in a class named "Main".class Main { static int N, M, V; //정점, 간선 개수, 시작할 정점 번호 static ArrayList[] adjList; // 인근 정점 static boolean[] visited; //정점 방문 여부 public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); ..

Algorithm/Baekjoon 2025.02.25

[백준 11286] Java - 우선순위 큐 정렬 기준 설정법

import java.util.*;import java.lang.*;import java.io.*;// The main method must be in a class named "Main".class Main { public static void main(String[] args) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); // 연산 개수 입력받기 // 우선순위 큐 정렬 기준 정하기 PriorityQueue pq = new PriorityQueue((o1, ..

Algorithm/Baekjoon 2025.02.24

[백준 10986] Java 나머지

[수도코드]입력할 수 개수 n, 나눌 수 m 입력받기n개의 수를 배열 a에 입력받기구간 합 배열 s 저장 s[i] = s[i-1] + a[i]for(n만큼 반복){구간 합 중 m으로 나누어 떨어지는 (i, j) 쌍의 개수 구하기}결과값 출력 🟡시간 초과 코드import java.util.*;import java.io.*;public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.read..

Algorithm/Baekjoon 2025.01.10

[백준 11660] Java 구간 합 구하기 5 / 2차원 구간 합 배열

💙2차원 구간 합 배열 저장D[i][j] = D[i][j-1] + D[i-1][j] - D[i-1][j-1] + A[i][j]>문제에서의 답 = D[x2][y2] - D[x1-1][y2] - D[x2][y1-1] + D[x1-1][y1-1] [수도코드]표의 크기 n, 함 구해야 하는 횟수 m 입력받기for(n만큼 반복){    for(n만큼 반복){    표 채워넣을 수 입력받기 > 2차 a 배열에 저장}}for(n만큼 반복){    for(n만큼 반복){   구간 합 배열 저장 D[i][j] = D[i][j-1] + D[i-1][j] - D[i-1][j-1] + A[i][j]}}for(m만큼 반복){x1, y1, x2, y2 입력받기D[x2][y2] - D[x1-1][y2] - D[x2][y1-1] ..

Algorithm/Baekjoon 2025.01.10

[백준 11659] Java 구간 합 구하기 4 / bufferedReader

💙합 배열 만드는 공식배열 A가 있고 합 배열 S인 경우 > S[i] = S[i-1] + A[i] 💙구간 합 구하는 공식i에서 j까지 구간 합 > S[j] - S[i-1]  [수도코드]수의 개수 N, 합을 구해야 하는 횟수 M 저장for(N만큼 반복){합 배열 생성 S[i] = S[i-1] + A[i]}for(M만큼 반복){범위 입력받기구간 합 출력 S[j] - S[i-1]}import java.util.*; // StringTokenizer 사용하기 위해import java.io.*; // BufferedReader, InputStreamReader 사용하기 위해public class Main { public static void main(String[] args) throws IOExcept..

Algorithm/Baekjoon 2025.01.10
728x90