목록전체 글 (255)
-
배열이 정열되어 있다는 것은 수학적으로 단조증가 수열이라는 것과 동치입니다. 즉, x0 < x1 < ... < xn이 있을 때 어떤 값 xk를 뽑고 그 값이 내가 찾는 값보다 크다면 xk, xk+1, ... , xn-1역시 원하는 값보다 클 것입니다. 그렇다면 굳이 이 값들은 탐색할 필요가 없으므로 과감하게 제거합니다. 반대로 내가 찾는 값보다 작을 경우 x0, x1, .... , xk는 탐색할 필요가 없습니다. public static int solution(int[] arr, int M) { // arr 배열에서 M을 찾자 Arrays.sort(arr); // 정렬 int start = 0; // 시작 int end = arr[arr.length-1]; // 끝 while(start mid) sum+..
# 주소 https://www.acmicpc.net/problem/12015 12015번: 가장 긴 증가하는 부분 수열 2 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ Ai ≤ 1,000,000) www.acmicpc.net # 문제 # 문제 해설 및 코드 리뷰 import java.util.*; import java.io.*; public class Main { private static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); public static void main(String args[]) throws IO..
# 주소 https://www.acmicpc.net/problem/3040 3040번: 백설 공주와 일곱 난쟁이 매일 매일 일곱 난쟁이는 광산으로 일을 하러 간다. 난쟁이가 일을 하는 동안 백설공주는 그들을 위해 저녁 식사를 준비한다. 백설공주는 의자 일곱개, 접시 일곱개, 나이프 일곱개를 준비한다. www.acmicpc.net # 문제 # 문제 해설 및 코드 리뷰 import java.util.*; public class Main{ static int[] arr,ans; static int sum; static boolean[] visit; static StringBuilder sb; public static void main(String[] args){ Scanner scan = new Scanner..
# 주소 https://www.acmicpc.net/problem/7568 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩 www.acmicpc.net # 문제 # 문제 해설 및 코드 리뷰 import java.util.*; public class Main{ public static void main(String[] args) { Scanner scan = new Scanner(System.in); int n = scan.nextInt(); int[] weight = new int[n]; int[] tall = new int..