![[Java] 백준 5988번 문제](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fu5N53%2FbtsIlAcVqIv%2FCqOeQY8yVRkl2KjBUksjK1%2Fimg.png)
문제설명 소스코드import java.util.Scanner;public class Boj_5988 { public static void main(String[] args) throws Exception { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); if(N != 0){ for (int i = 0; i 설명가장 주의해야 할 점은 K의 범위가 10^60이라는 점이다.따라서 숫자로 처리하기 보다는 문자로 처리해야한다.
![[Java] 백준 16916번 문제 (부분 문자열)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFnZ0T%2FbtsAXhyMJnZ%2FAJg89WjBPcotPemjVXI6A1%2Fimg.png)
문제설명 소스코드 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..
![[Java] 백준 1786번 문제(찾기)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHsNl8%2FbtsASWo3orF%2FeyC6Y8F49BRuhhK7vZgkjk%2Fimg.png)
문제설명 소스코드 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..
![[Java] 백준 1212번 문제 (8진수 2진수)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbyRZ4m%2FbtsAPxvNMnj%2FGyUfgkRj94wdHTXoQTj291%2Fimg.png)
문제설명 소스코드 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(); ..
![[Java] 백준 1991번 문제 (트리 순회)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbyi0dp%2FbtsAw3t2rVY%2FtyNJZHPU7oDfLotlE4zdq1%2Fimg.png)
문제설명 소스코드 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) { ..
![[Java] 백준 2606번 문제 (바이러스)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbNMuX0%2FbtsArtUc2Na%2F17Z55KR6NyMcWKVsnHdZi0%2Fimg.png)
문제설명 소스코드 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();..
![[Java] 백준 1260번 문제 (DFS와 BFS)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCRLnI%2FbtsAq0EKF4W%2FI273vnEsc0bAYEmh8YBHak%2Fimg.png)
원본 출처 : https://www.acmicpc.net/problem/1260문제설명 소스코드풀이 1import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.Collections;import java.util.LinkedList;import java.util.StringTokenizer;public class Boj_1260{ static ArrayList[] adjacencyList; // 인접 리스트 static boolean[] visited; // 방문 체크 public static void main..
![[Java] 백준 2851번 문제 (슈퍼마리오)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbrnTsi%2FbtszjFosbQH%2FOoi4f552cww3h118lmF1CK%2Fimg.png)
문제설명 소스코드 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..