https://www.acmicpc.net/problem/1590import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main { public void solution() throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); long n =Long.parseLong(st.nextToken()); // 버스 개수 ..
https://www.acmicpc.net/problem/11663데이터가 많이 들어올 경우 위치를 찾는 데 많은 시간이 걸리기 때문에 O(MN) 이분 탐색을 통해 값을 찾는 시간을 줄여야 한다.아래의 코드는 이분 탐색 없이 for 문을 사용해 선형적으로 값을 탐색하는 경우이다.// 이분 탐색 하지 않을 경우 - 시간초과 발생import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.Arrays;import java.util.StringTokenizer;public class Main { int[] coord; public void solution() throws Exception { Buffere..
https://www.acmicpc.net/problem/1051import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main { char[][] map; int n,m; public void solution() throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); n = Integer.parseInt..
https://www.acmicpc.net/problem/2504import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.Stack;public class Main { public void solution() throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String s = br.readLine(); Stack stack = new Stack(); for (char c : s.toCharArray()) { if (c == '('..
https://www.acmicpc.net/problem/10830//틀린 답import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.*;public class Main{ public void solution() throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); int n = Integer.parseInt(st.nextToken()); int b = I..
https://www.acmicpc.net/problem/1004최소의 행성계 진입/이탈 => 최대한 원의 중점에서의 거리를 반지름보다 큰 거리 유지궤적은 중요치 않고, 최소 진입/이탈이 목적이기 때문에 출발점과 도착지점이 이미 궤도 안에 들어와있는지만 따져 보면 된다. 그 중간의 궤적은 어떻게든.. 감따라서 출발, 도착지점이한 쪽만 궤도 안 => cnt ++둘 다 궤도 밖, 둘 다 궤도 안 => 셀 필요 없음import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.*;public class Main{ public void solution() throws Exception{ BufferedReader ..
https://www.acmicpc.net/problem/10951EOF를 어떻게 처리하는지가 문제! Java의 경우 입력 문장을 처리하는 방법은 두 가지이다. 1. Scanner2. BufferedReader Scanner의 경우 hasNext() 함수를 통해 다음 문장이 있는 지 확인할 수 있다.BufferedReader의 경우 그런 함수가 없기 때문에, br.readLine()의 문장이 null인지 확인하고, null일 때 반복문을 멈추면 된다.import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.*;public class Main{ public void solution() throws Exception{..
https://www.acmicpc.net/problem/1008import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.*;public class Main{ public void solution() throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); System.out.println(Double.parseDouble(st.nextToken())/Double.pars..
https://www.acmicpc.net/problem/9251https://youtu.be/sSno9rV8Rhg?si=3rhs0KtLbIaZU-h3해당 영상에서 LCS 문제를 잘 설명하고 있어 추천한다. import java.io.BufferedReader;import java.io.InputStreamReader;public class Main { public void solution() throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); char[] str1 = br.readLine().toCharArray(); char[] str2 = br...
https://www.acmicpc.net/problem/2607입력된 단어를 char 배열로 분해해서, 오름차순으로 정렬한 뒤 머지 소트처럼 비교대상 배열과 현재 배열과 포인터를 움직이며 비교한다. 같을 경우 두 포인터 모두 한 칸씩 이동하고, 한 쪽이 더 작은 알파벳일 경우 작은 알파벳 쪽 포인터를 한 칸 움직인다. 이때 작은 쪽이 한 글자 다르다는 것을 변수에 저장해준다. 만약 이 변수가 2 이상일 경우, 두 글자 이상 다르므로 반복문을 깬다.CAD, DAD 처럼 한 글자를 대체할 경우 비슷한 단어로 간주되기 때문에, 다른 글자의 개수를 세는 것은 두 배열 각자여야 한다.해당 예시의 경우, 오름차순으로 배열하면 A D D, A C D가 된다.처음 A는 동일하기 때문에 두 배열의 포인터를 모두 움직..