사용 언어: Java
- 구상
서류 순위를 오름차순으로 정렬
→ 기준을 정한 후, 1 ~ 기준 전까지의 면접 순위를 비교하여 기준이 합격할 수 있는지 판단
(지원자 + 1) 크기의 배열을 만들어 서류 순위대로 면접 순위를 입력
알고리즘 참고
기준을 정하고 배열에 있는 면접 순위가 기준보다 작으면 합격자에 포함시키고 해당 숫자를 기준으로 잡기
- 구현
import java.io.IOException;
import java.util.NoSuchElementException;
import java.util.Scanner;
public class sol_1946 {
public static void main(String[] args) throws NoSuchElementException, IOException {
Scanner s = new Scanner(System.in);
//테스트 케이스 수 입력
int test = s.nextInt();
//테스트 케이스가 끝날 때까지 실행
while (test != 0) {
//처음 기준인 arr[1]은 무조건 합격하므로 초기값은 1
int choose = 1;
//지원자 수 입력 받기
int appli = s.nextInt();
int[] arr = new int[appli + 1];
for (int i = 1; i < appli + 1 ; i++) {
//지원자의 서류 순위 입력
int x = s.nextInt();
//지원자의 면접 순위 입력
int y = s.nextInt();
arr[x] = y;
}
//처음 기준 설정
int standard = arr[1];
for (int i = 2; i <= appli; i++) {
/*기준보다 순위가 높으면 합격자에 포함시키고
기준으로 설정*/
if (standard > arr[i]) {
choose++;
standard = arr[i];
}
}
//합격자 수 출력
System.out.println(choose);
//테스트 케이스 수 줄이기
test--;
}
}
}