우선순위 큐(Priority Queue)?큐에서 각 원소가 우선순위(priority)를 가지며, 높은 우선순위를 가진 원소가 먼저 처리되는 자료구조입니다. 일반 큐에서는 원소가 들어온 순서대로 처리되지만, 우선순위 큐에서는 우선순위가 높은 원소가 먼저 나옵니다. 우선순위 큐는 내부적으로 힙(Heap)구조를 사용하여 구현되는 경우가 많습니다. 이때 우선순위 큐는 최대 힙(Max Heap)또는 최소 힙(Min Heap)을 사용할 수 있습니다. 최대 힙: 가장 높은 우선순위를 가진 원소가 가장 먼저 나오도록 합니다. 최소 힙: 가장 낮은 우선순위를 가진 원소가 가장 먼저 나오도록 합니다.기본적인 우선순위 큐 사용(최소 힙)import java.util.PriorityQueue;public class Prio..
coding test
해당 깃허브 레포를 참고하여 정리하였습니다 :) https://github.com/tony9402/baekjoon/1. 기초 알고리즘과 자료구조중요도 ★★★★★ (기초 다지기)implementation (구현)기초적인 문제 해결 능력을 키우기 위해 중요.math (수학)소수 판별, 최대공약수/최소공배수, 조합론 등 기본적인 수학 문제를 학습.data_structure (자료구조)배열, 리스트, 스택, 큐, 해시맵 등 기본 자료구조 학습.string (문자열)문자열 처리와 관련된 기초 문제 풀이.prefix_sum (누적합)효율적인 합 계산 방법 학습.2. 탐색과 그래프 기초중요도 ★★★★☆ (문제 풀이의 큰 축)brute_force (완전 탐색)가능한 모든 경우를 탐색하는 방법 이해.backtrackin..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fo54pE%2FbtsKxSwXqai%2FFR8JhlzlYecXGV5sTlsEM1%2Fimg.png)
https://www.acmicpc.net/problem/15649 import java.util.ArrayList;import java.util.List;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); int m = scanner.nextInt(); scanner.close(); ArrayList a = new ArrayList(); boolean[] visited = new boolean[n + ..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMiHJ0%2FbtsKyyqsqSE%2FtoJsqh8T0CLhNMKEwj9SIK%2Fimg.png)
https://www.acmicpc.net/problem/1780import java.util.Scanner;public class Main { static int countMinus1 = 0; static int count0 = 0; static int count1 = 0; public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); int[][] matrix = new int[n][n]; for(int i = 0; i 코드 구조 및 설명1. 카운트 변수 선언static으로 처음에 선언된 3가지 ..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQgl8C%2FbtsKwwt8qvj%2FK1KDngNGR6zEJyruTrYgzK%2Fimg.png)
https://www.acmicpc.net/problem/17478 재귀 방식의 출력(성공한 코드) 재귀 함수 chatbot 사용: 첫 번째 코드는 chatbot이라는 재귀 함수를 사용하여 반복적으로 동일한 대화 구조를 출력합니다.currentDepth와 totalDepth 변수를 통해 재귀의 깊이를 제어하며, 현재 깊이에 따라 인덴트를 추가하는 printIndent 메서드를 호출하여 인덴트가 단계별로 증가합니다.재귀의 끝에 도달하면 "재귀함수는 자기 자신을 호출하는 함수라네"라는 텍스트를 출력한 뒤, 각 깊이에서 "라고 답변하였지."라는 텍스트를 추가하면서 재귀를 종료합니다.정확한 인덴트: printIndent 메서드는 깊이마다 ____를 추가해주므로, 각 깊이에 따라 일관된 인덴트를 제공합니다.코드의..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbt4i5d%2FbtsKpUHrrlP%2FNAjdLXkMktlpPQGXxgsVIK%2Fimg.png)
https://www.acmicpc.net/problem/10799import java.util.Scanner;import java.util.Stack;public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String s = scanner.nextLine(); scanner.close(); int cnt = 0; Stack stack = new Stack(); for (int i = 0; i 레이저와 쇠막대기 끝을 구분하며 스택 기초 문제를 풀어봤습니다 :)
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdTVp6q%2FbtsKmnpQca3%2F1n7hBFVxq18cILn0htusi0%2Fimg.png)
https://www.acmicpc.net/problem/3986 해당 문제를 풀때, 로직은 맞았지만, 줄바꿈 문자를 처리하지 않아 오류가 발생하였습니다. 밑은 해당 로직입니다 :)이번 자료구조는 stack을 사용해서 문제를 해결하였습니다.import java.util.*;public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); scanner.nextLine(); // 숫자 입력 후 줄바꿈 문자 처리 ArrayList list = new ArrayList(); ..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcEyGDp%2FbtsKmRqGXjt%2FjZua4kGTGRXQLlSDPSAbBK%2Fimg.png)
https://www.acmicpc.net/problem/3273 배열의 기본 문제를 간단하게 풀어봤습니다. 처음에 제가 생각한 풀이 방식은import java.util.*;public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); ArrayList list = new ArrayList(); for (int i = 0; i 해당 코드였지만, 시간초과가 발생하여 Set을 사용해 문제를 다시 풀어봤습니다. import java.util.*;public class Main {..