https://www.acmicpc.net/problem/1946
1946번: 신입 사원
첫째 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 20)가 주어진다. 각 테스트 케이스의 첫째 줄에 지원자의 숫자 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개 줄에는 각각의 지원자의 서류심사 성
www.acmicpc.net
문제
풀이
그리디 문제이다.. 처음엔 lis 알고리즘으로 풀 수 있을줄 알았다 ..왜냐 ..
서류와 면접 성적이 둘다 낮아야한다 => 평행하다 => 증가하는수열 => LIS 알고리즘
하지만 반례가 있었고 , LIS로 풀 수 없다는 것을 깨달았다 ..
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
import java.util.*;
import java.io.*;
public class Main{
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int tc = Integer.parseInt(br.readLine());
while(tc-->0){
int size = Integer.parseInt(br.readLine());
int[] arr = new int[size+1];
for(int i=0;i<size;i++){
String[] input = br.readLine().split(" ");
int start = Integer.parseInt(input[0]);
int end = Integer.parseInt(input[1]);
arr[start] = end;
}
int result = 1;
int standard = arr[1];
for(int i=2;i<=size;i++){
if(standard > arr[i]){
result ++;
standard = arr[i];
}
}
System.out.println(result);
}
}
}
|
cs |
'알고리즘,PS > 백준' 카테고리의 다른 글
[BOJ] 백준 [2156] 포도주 시식 JAVA (0) | 2021.09.15 |
---|---|
[BOJ] 백준 [1463,12852] 1로 만들기 1,2 JAVA (0) | 2021.09.14 |
[BOJ] 백준 [2252] 줄 세우기 JAVA (0) | 2021.09.09 |
[BOJ] 백준 [1197] 최소 스패닝 트리 JAVA (0) | 2021.09.09 |
[BOJ] 백준 [1806] 부분합 JAVA (0) | 2021.09.08 |