목록Programing/BaekJoon (24)
T_era
이전에 학습한 이진 탐색을 구현해 보았다이진 탐색을 하여 단 하나만 찾는 값을 찾는 것이 아닌 원하는 값의 갯수를 찾아야해서 살짝의 변화를 주었다처음 등장하기 직전 위치를 찾는 lowerBound()와 마지막에 등장하는 위치의 upperBound()를 구성했다array = [-10, -10, 2, 3, 3, 6, 7, 10, 10, 10]위와 같이 정렬된 배열이 있고 10의 갯수를 알고싶다고 가정하자아래는 시작 위치를 찾는 함수 이다 public static int lowerBound(int[] arr, int target) { int low = 0; int high = arr.length; while (low = target) { high..
이전에 공부한 퀵정렬을 이용했다import java.io.*;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 count = Integer.parseInt(br.readLine()); int[] arr = new int[count]; for(int i = 0; ..
시간제한이 최대 NlogN이라 많이 해맸다import java.io.*;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 BufferedWriter(new OutputStreamWriter(System.out)); StringTokenizer st; int count = Integer.parseInt(br.readLine());..
자꾸 틀렸데서 거의 1시간넘게 왜틀렸지하면서 고민했는데출력을 대문자로해서 틀리고있었다...소문자로 바꾸니 바로 정답 그냥 억울하다import java.io.*;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)); String str = ""; while (!((str = br.readLine())...
import java.io.*;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 count = Integer.parseInt(br.readLine()); Character[][] ps = new Character[count][]; for (int i = 0; i nodeMa..
import java.io.*;public class Main { public static void main(String[] args) throws IOException { BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder result = new StringBuilder(); int count = Integer.parseInt(br.readLine()); NodeManager nodeManager ..
큐를 학습하고 나서 한거라 그런지 스택은 손쉽게 구현했다import java.io.*;import java.util.NoSuchElementException;import java.util.StringTokenizer;public class Main { public static void main(String[] args) throws IOException { BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st; ..
Queue에 이어서 Deque를 사용해야하는 문제이다Deque는 큐의 반대 방향으로도 작동하는 알고리즘index => 원하는 node의 value를 찾아 큐의 몇번째에 있는지 탐색탐색한 위치 직전까지 (push(pop) 그리고 index의 node를 pop을 해준다import java.io.*;import java.util.NoSuchElementException;import java.util.StringTokenizer;public class Main { public static void main(String[] args) throws IOException { BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.o..
import java.io.*;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 BufferedWriter(new OutputStreamWriter(System.out)); StringTokenizer st; NodeManager nodeManager = new NodeManager(); int count = Int..
이전에 작성했던 큐에는 치명적인 문제가 있었다 main에서 while 조건으로 노드가 비었는지 체크하는데pop을 하고 다음 노드가 없을 때 head와 tail을 null로 변환되지않고 있었다.그 부분을 수정하고 풀었다 import java.io.*;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 BufferedWriter(new OutputStream..