본문 바로가기

Algorithm13

정렬 알고리즘 - 거품 정렬(Bubble sort) import java.util.Arrays; public class Main { public static void main(String[] args) { int[] arr = {9, 8, 7, 6, 5, 4, 3, 2, 1}; bubble_sort(arr); System.out.println(Arrays.toString(Arrays.stream(arr).toArray())); } private static void bubble_sort(int[] arr) { int size = arr.length; for (int i = 1; i arr[j + 1]) { swap(arr, j, j + 1).. 2023. 9. 3.
백준 1920번 :: 수 찾기 한 달 만에 다시 풀게 된 문제, 눈물겨운 성장스토리 시작합니데이 한 달 전, 처음 풀 때는 이중for loop 돌도록해서 전체 탐색을 진행했었더랬지.. 그때는 다른 방법을 쓸 수 없을 것 같았는데, import java.io.*; import java.util.HashMap; import java.util.Map; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new Buffered.. 2023. 8. 11.
백준 2141번 :: 우체국 최근엔 그리디 알고리즘을 풀고 있다. 개인적으로 제일 어렵다고 생각함.. 각 문제마다 풀이를 접근했을 때 이게 어떻게 최적해가 보장이 되는 것인지 설명하기 어려워서 접근법을 구상해내는게 쉽지않음.. ㅠ 그런 문제 중 하나가 이번 '우체국' 문제라고 생각한데이...🥲 https://www.acmicpc.net/problem/2141 2141번: 우체국 첫째 줄에 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 X[1], A[1], X[2], A[2], …, X[N], A[N]이 주어진다. 범위는 |X[i]| ≤ 1,000,000,000, 1 ≤ A[i] ≤ 1,000,000,000 이며 모든 입력은 정수이다. www.acmicpc.net 접근방법 1. 그리디 알고리즘은 '정렬'이 핵심이라.. 2023. 8. 7.
백준 7662번 :: 이중 우선순위 큐 https://www.acmicpc.net/problem/7662 7662번: 이중 우선순위 큐 입력 데이터는 표준입력을 사용한다. 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터의 첫째 줄에는 Q에 적 www.acmicpc.net 1차 시도 접근방법 : 문제 이름에서도 언급했기 때문에 "우선순위 큐"를 써야하나보다! 하고 냅다 PQ부터 만들어주고. 연산에서 최댓값과 최솟값이 필요하기 때문에 우선순위 큐를 두 개 만들어주고 하나는 역으로 정렬해주도록 했다. 그리고 입력값의 경우에 따라 I, D를 입력받을 때로 구분짓고 문제의 요구사항을 맞춰 풀었다. import java.io.BufferedReader; import ja.. 2023. 7. 27.
백준 1918번 :: 후위 표기식 이제 골드 문제도 하나씩 도전해보고 있는 요즘 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Stack; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String infix = br.readLine(); char[] chars = infix.toCharArray(); Stack stack = new Stack(); StringBu.. 2023. 7. 21.
백준 1874번 :: 스택 수열 import java.io.*; import java.util.Stack; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); int N = Integer.parseInt(br.readLine()); Stack inputStk = new Stack(); int start = 0; while (N --> 0) { int value = Integer.pa.. 2023. 7. 13.
320x100