자료구조 & 알고리즘/BOJ171 [Java] 백준 16916번 문제 (부분 문자열) 문제설명 소스코드 import java.io.BufferedReader; import java.io.InputStreamReader; public class Main { static public boolean KMP(String str, String pattern) { int LPS[] = new int[pattern.length()]; //LPS 배열 생성 int index = 0; //IDX, 찾을 문자열의 비교 인덱스를 뜻하기도 하며, 접두사와 접미사가 같을 때 최대 길이를 뜻하기도 함 for (int i = 1; i < pattern.length(); i++) //LPS배열의 값을 입력 { if (pattern.charAt(i) == pattern.charAt(index)) LPS[i] = ++i.. 자료구조 & 알고리즘/BOJ 2023. 11. 29. [Java] 백준 1786번 문제(찾기) 문제설명 소스코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; public class Main { static public ArrayList KMP(String str, String pattern) { ArrayList idxList = new ArrayList(); //찾는 문자열을 발견시 해당 문자열의 시작 인덱스를 저장하는 리스트 int LPS[] = new int[pattern.length()]; //LPS 배열 생성 int index = 0; //IDX, 찾을 문자열의 비교 인덱스를 뜻하기도 하며, 접두사와 접미사가 같을 때 최대 길이를 뜻하기도 함 for (int i = 1.. 자료구조 & 알고리즘/BOJ 2023. 11. 29. [Java] 백준 1212번 문제 (8진수 2진수) 문제설명 소스코드 import java.io.BufferedReader; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); String input = br.readLine(); String[] arr = {"000","001","010","011","100","101","110","111"}; for(int i = 0; i < input.length(); .. 자료구조 & 알고리즘/BOJ 2023. 11. 25. [Java] 백준 1991번 문제 (트리 순회) 문제설명 소스코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { static StringBuilder sb = new StringBuilder(); static Node root = new Node(null, null, null); //루트노드 static class Node //노드 클래스 { String value; //현재 노드의 값을 저장 Node left; //왼쪽 자식 노드의 레퍼런스를 저장 Node right; //오른쪽 자식 노드의 레퍼런스를 저장 Node(String value, Node left, Node right) { .. 자료구조 & 알고리즘/BOJ 2023. 11. 17. [Java] 백준 2606번 문제 (바이러스) 문제설명 소스코드 DFS풀이(스택) import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Stack; import java.util.StringTokenizer; public class Main { static int N; //vertex static int M; //edge static int V; //첫 탐색 static boolean visited[]; //방문 표시 static int vertex[][]; //인접 행렬 static int count = 0; //감염된 컴퓨터 수 static void DFS(int V) //첫 탐색 위치를 매개변수로 받음 { Stack stack = new Stack();.. 자료구조 & 알고리즘/BOJ 2023. 11. 17. [Java] 백준 1260번 문제 (DFS와 BFS) 문제설명 소스코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.Stack; import java.util.StringTokenizer; public class Main { static int N; //vertex static int M; //edge static int V; //첫 탐색 static boolean visited[]; //방문 표시 static int vertex[][]; //인접 행렬 static StringBuilder sb = new StringBuilder(); static void DFS.. 자료구조 & 알고리즘/BOJ 2023. 11. 17. [Java] 백준 2851번 문제 (슈퍼마리오) 문제설명 소스코드 import java.util.Scanner; public class Main { public static void main(String[] args) throws Exception { Scanner sc = new Scanner(System.in); int arr[] = new int[10]; int sum = 0; for(int i = 0; i 100) { if(Math.abs(100-temp) >= Math.abs(100-sum)) System.out.print(sum); else System.ou.. 자료구조 & 알고리즘/BOJ 2023. 10. 29. [Java] 백준 11286번 문제 (절댓값 힙) 문제설명 소스코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Comparator; import java.util.PriorityQueue; public class Main { public static void main(String[] args) throws Exception { PriorityQueue absHeap = new PriorityQueue(new Comparator() { @Override public int compare(Integer o1, Integer o2) { if(Math.abs(o1) == Math.abs(o2)) return Integer.compare(o1, o2); //절.. 자료구조 & 알고리즘/BOJ 2023. 10. 23. [Java] 백준 11279번 문제 (최대 힙) 문제설명 소스코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Collections; import java.util.PriorityQueue; public class Main { public static void main(String[] args) throws Exception { PriorityQueue maxHeap = new PriorityQueue(Collections.reverseOrder()); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder().. 자료구조 & 알고리즘/BOJ 2023. 10. 22. [Java] 백준 1927번 문제 (최소 힙) 문제설명 소스코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.PriorityQueue; public class Main { public static void main(String[] args) throws Exception { PriorityQueue maxHeap = new PriorityQueue(); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); int N = Integer.parseInt(br.readLine()); for(int i = 0.. 자료구조 & 알고리즘/BOJ 2023. 10. 22. [Java] 백준 1673번 문제 (치킨 쿠폰) 문제설명 소스코드 import java.util.Scanner; public class Main { public static void main(String[] args) throws Exception { Scanner sc = new Scanner(System.in); while(sc.hasNextInt()) { int n = sc.nextInt(); int k = sc.nextInt(); int ans = n; int stamps; while(n >= k) { stamps = n / k; ans += stamps; n = stamps + (n % k); } System.out.println(ans); } } } 설명 코드가 간단하기 때문에 코드에 대한 설명은 필요없을 것 같다. 문제를 보면 테스트케이스.. 자료구조 & 알고리즘/BOJ 2023. 10. 19. [Java] 백준 1918번 문제 (후위 표기식) 문제설명 소스코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Stack; public class Main { public static int priority(char operator) { if (operator == '+' || operator == '-') return 1; if (operator == '*' || operator == '/') return 2; return 0; } public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(Syst.. 자료구조 & 알고리즘/BOJ 2023. 10. 18. 이전 1 2 3 4 ··· 15 다음