[백준] 19583 싸이버개강총회 - Java
해시셋을 사용해 조건에 맞게 닉네임을 넣어주고 빼 주는 문제이다.
시간 환산을 위해 hour에는 60을 곱해줬다.
입력의 마지막은 EOF로 처리해야 한다.
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));
StringBuilder sb = new StringBuilder();
StringTokenizer st = new StringTokenizer(br.readLine());
String start_time[] = st.nextToken().split(":");
String finish_time[] = st.nextToken().split(":");
String end_time[] = st.nextToken().split(":");
int start = Integer.parseInt(start_time[0]) * 60 + Integer.parseInt(start_time[1]);
int finish = Integer.parseInt(finish_time[0]) * 60 + Integer.parseInt(finish_time[1]);
int end = Integer.parseInt(end_time[0]) * 60 + Integer.parseInt(end_time[1]);
HashSet<String> hs = new HashSet<>();
String input = "";
int cnt = 0;
while((input = br.readLine()) != null){
//if(input.equals("#")){
// break;
//}
String temp[] = input.split(" ");
String temp_time[] = temp[0].split(":");
int time = Integer.parseInt(temp_time[0]) * 60 + Integer.parseInt(temp_time[1]);
String name = temp[1];
if(time <= start){
hs.add(name);
}
if(time >= finish && time <= end){
if(hs.contains(name)){
hs.remove(name);
cnt++;
}
}
}
System.out.println(cnt);
}
}
반응형
'Algorithm > Baekjoon' 카테고리의 다른 글
[백준] 1351 무한수열 - Java (0) | 2022.04.23 |
---|---|
[백준] 2002 추월 - Java (0) | 2022.04.23 |
[백준] 13414 수강신청 - Java (0) | 2022.04.22 |
[백준] 2910 빈도 정렬 - Java (0) | 2022.04.21 |
[백준] 9375 패션왕 신혜빈 - Java (0) | 2022.04.21 |
댓글
이 글 공유하기
다른 글
-
[백준] 1351 무한수열 - Java
[백준] 1351 무한수열 - Java
2022.04.23 -
[백준] 2002 추월 - Java
[백준] 2002 추월 - Java
2022.04.23 -
[백준] 13414 수강신청 - Java
[백준] 13414 수강신청 - Java
2022.04.22 -
[백준] 2910 빈도 정렬 - Java
[백준] 2910 빈도 정렬 - Java
2022.04.21