시간&메모리 제한
문제
입력&출력
문제풀이
package com.Back;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashSet;
import java.util.StringTokenizer;
public class Back_19583 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
String start = st.nextToken();
String End = st.nextToken();
String Stream = st.nextToken();
int ans=0;
//시작할 때 출첵
HashSet<String> s = new HashSet<>();
//끝날 때 출첵
HashSet<String> e = new HashSet<>();
String temp;
while((temp=br.readLine())!=null) {
if(start.compareTo(temp.split(" ")[0])>=0) {
s.add(temp.split(" ")[1]);
}else if(End.compareTo(temp.split(" ")[0])<=0 && Stream.compareTo(temp.split(" ")[0])>=0 ) {
e.add(temp.split(" ")[1]);
}
}
for (String tmp : e) {
if(s.contains(tmp)) {
ans++;
}
}
System.out.println(ans);
}
}
- 문자열을 이용하는 문제입니다.
- ArrayList를 사용하는 경우에 시간 초과 오류가 뜨게 됩니다.
- 찾아보면서 HashSet으로 바꿔서 해결을 했습니다.
- 시간에 대한 비교는 compareTo라는 메소드를 활용해서 문제풀이를 진행했습니다.
'Algorithm > 백준 알고리즘' 카테고리의 다른 글
백준_17609 회문(자바) / 문자열 (0) | 2021.07.25 |
---|---|
백준_5430 AC(자바) / 문자열 (0) | 2021.07.24 |
백준_14425 문자열 집합(자바) / 문자열 (0) | 2021.07.22 |
백준_18429 근손실(자바)/ 백트래킹 (0) | 2021.07.21 |
백준_1181 단어 정렬(자바) / 정렬 알고리즘 (0) | 2021.07.21 |