Algorithm 129

[백준 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

[백준 1546] Java 평균 / Java로 코딩테스트하기

[수도코드]시험 본 과목 개수 N 입력받기길이가 N인 1차원 배열 score[] 선언for(N만 반복){score[i]에 점수 저장}for(score[] 길이만큼 반복){최댓값 max 찾기sum 저}새로운 평균인  sum/M*100/N 출력 import java.util.Scanner;public class Main { public static void main(String[] args){ Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int score[] = new int[N]; for(int i = 0; i  *소수점 나와야하니까 max, sum을 double로 선언하기  ..

Algorithm/Baekjoon 2025.01.09

[백준 9613] C++ - GCD 최대공약수 구하기

처음에 int sum으로 했더니 틀렸다.⭐입력으로 주어지는 수가 1,000,000이하로 int형말고 long long으로 해야한다.//백준 9613 - GCD 합#include #include using namespace std;// 최대공약수 구하기int gcd(int a, int b){ if(b == 0) return a; return gcd(b, a%b);}int main(){ int t; scanf("%d", &t); // 테스트 케이스 개수 입력 while(t--){ int n; scanf("%d", &n); vector arr; int num; for(int i = 0; i

Algorithm/Baekjoon 2024.07.22
728x90