Hard deck 143

080 : 조약돌 꺼내기

조약돌 갯수가 뽑는 갯수보다 클 때만 공간이 열리며 이 때 1.0은 곱하기 누적의 plate다 공간에 개폐 or 다른 location으로의 서술 double로 잡아줌 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { // ISC BufferedReader br =new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st..

019 : Quick sort / K번째 수 구하기

Klocated 자체는 말 그대로 void로서 TP[] 를 정렬하는 것이지, 특별히 k를 Return하지 않는다(OEC에서 정렬된 TP[k-1]에 액세스) TP[] connector, 시작과 끝 pointer, target k가 필요 그리고 해당 인자들로 quickSort 공급도 필요하다 if는 recursive bottom 또 Klocated는 하청을 주는 것 / 탐색 구간만 받아서 quickSort으로 넘겨줌 EP 최소 피스 작업 pivot을 s pointer와 바꾸어 setup 작업의 기본이 되는 비교를 위해 해당 value는 먼저 보관하고 swap한다 마지막에 다시 되돌려 놓을 것 quickSort는 정렬 후 pivot pointer를 전달 통상적인 Quick sort는 한번 정렬된 pivot의 ..

018 : ATM 인출 시간 / insertion sort

pointer 배정 찾기 두번째부터 시작해서 작은수를 왼쪽에 계속 모으는 것 lsq는 standard poll로 작용하고 left area에 삽입할 것을 찾는다 *하나라도 작은 걸 찾으면 작은것 - 큰것이 되게 오른쪽 것을 pointer로 잡고 break; 최대한 작은 것을 찾아 들어가는 것이 아닌, 점차 완성되는 그림으로 착각할 수 있지만 왼쪽 2의 구간부터 차례로 쌓여가므로 squeezer poll이 지나간 la에서는 오름차순으로 정렬되어 있다 lsq poll에서 삽입할 value를 이미 얻었으므로 지워버려도 된다 S와 TP의 capacity는 동일하다 1번 2번 .. 5번 1번째까지 합, 2번째까지합.. 5번째까지 합 import java.util.Scanner; public class Main {..

017 : selection sort / 내림차순

char에서 Int로 parsing 안됨 > substring으로 하기 lsq가 standard pointer가 된다 또 비교를 위한 pointer가 필요 max값이 갱신될때마다 바뀌면 안되고, 최종 max값을 찾은 후 j for문 밖에서 갱신해야 하므로 Pointer plate(max)를 준비, 갱신되면 받아서 나온다 import java.util.Scanner; public class Main { public static void main(String[] args) { // ISc Scanner sc = new Scanner(System.in); String line = sc.nextLine(); // D2F int[] TP = new int[line.length()]; for (int i = 0; ..

020 : merge sort // 수 정렬하기

flush와 close recursive bottom(최소 피스) 구간 나눠서 하청 주기 작성할 connector / pointer 확인 (TP connector와 pointer / cont connector와 pointer x 2 사용) LEFTOVER import java.io.*; public class Main { static int[] TP; static int[] cont; public static void main(String[] args) throws IOException { // ISC BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(n..