카테고리 없음
백준 - 13414 - 수강신청
YoonBing9
2021. 3. 30. 14:04
13414번: 수강신청
입력 데이터는 표준 입력을 사용한다. 입력은 1개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 과목의 수강 가능 인원 K(1 ≤ K ≤ 100,000)와 학생들이 버튼을 클릭한 순서를 기록한 대기목
www.acmicpc.net
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
|
import java.util.LinkedHashSet;
import java.util.Scanner;
import java.util.Set;
public class 수강신청 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String[] inputs = sc.nextLine().split(" ");
int K = Integer.parseInt(inputs[0]); // 수강 가능 인원수
int L = Integer.parseInt(inputs[1]); // 수강 신청 대기 인원수
Set<String> set = new LinkedHashSet<>();
for(int i=0; i<L; i++) {
String seq = sc.nextLine();
if(set.contains(seq)) {
set.remove(seq);
}
set.add(seq);
}
StringBuilder sb = new StringBuilder();
int index = 0;
for(String seq : set) {
if(index >= K) {
break;
}
sb.append(seq+"\n");
index++;
}
System.out.println(sb);
}
}
|
cs |
알고리즘
- 해싱
- 자바 컬렉션의 LinkedHashSet을 이용하면 Set을 이용할때 순서를 보장해주기 때문에 따로 리스트가 필요없이 구현 가능하다.