-
https://www.acmicpc.net/problem/1946
1946번: 신입 사원
첫째 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 20)가 주어진다. 각 테스트 케이스의 첫째 줄에 지원자의 숫자 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개 줄에는 각각의 지원자의 서류심사 성
www.acmicpc.net
https://github.com/JUNGSOONIL/JAVA/blob/main/BAEKJOON%201946
GitHub - JUNGSOONIL/JAVA: JAVA 소스 코드
JAVA 소스 코드. Contribute to JUNGSOONIL/JAVA development by creating an account on GitHub.
github.com
해당 문제는 A 시험과 B시험의 등수가 주어졌을 때 선발 가능한 인원수를 구하는 문제다.
조건으로는 다른 모든 지원자와 비교했을 때 서류심사 성적과 면접시험 성적 중 적어도 하나가 다른 지원자보다 떨어지지 않는 자만 선발한다는 원칙을 세웠다. 즉, 어떤 지원자 A의 성적이 다른 어떤 지원자 B의 성적에 비해 서류 심사 결과와 면접 성적이 모두 떨어진다면 A는 결코 선발되지 않는다.
쉽게 말하면 A시험 1등을 기준으로 B시험 성적이 높은 인원은 모두 선발 가능하다
해당 문제는 먼저 리스트로 시험 성적을 입력받아 저장한 뒤 A 시험 기준으로 내림차순으로 리스트를 정렬하고,
이후 A시험 1등의 B시험 성적을 최소 초기값으로 둔 뒤 리스트를 탐색하면서
A 시험 1등의 B시험 성적보다 더 낮은 순위가 있으면 카운트를 증가시키고
최솟값을 갱신하는 방식으로 문제를 해결했다.
728x90'알고리즘 > Baekjoon' 카테고리의 다른 글
Baekjoon 4949 균형잡힌 세상 JAVA (0) 2021.11.26 Baekjoon 1026 보물 JAVA (0) 2021.11.25 Baekjoon 10773 제로 JAVA (0) 2021.11.22 Baekjoon 7785 회사에 있는 사람 JAVA (0) 2021.11.19 Baekjoon 13565 침투 JAVA (0) 2021.11.18 댓글