풀이방법 및 문제점
2022.06.08 (1)
이분탐색을 쓰지 않고 그냥 좌표압축을 시도해보았다.
해시맵을 사용하였다.
역시 시간초과가 발생한다.
답의 값 자체는 맞게 도출되는 것 같다.
2022.06.08 (2)
이분탐색을 이용하여 좌표압축을 하니 해결되었다.
코드
Java(2022.06.08(1))
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException{
// TODO Auto-generated method stub
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
HashMap<Integer, Integer> hm = new HashMap<Integer, Integer>();
int n = Integer.parseInt(br.readLine());
int[][] input = new int[n][2];
for(int i=0; i<n; i++) {
StringTokenizer st = new StringTokenizer(br.readLine());
input[i][0] = Integer.parseInt(st.nextToken());
input[i][1] = Integer.parseInt(st.nextToken());
hm.put(input[i][0], 0);
hm.put(input[i][1], 0);
}
for(int i=0; i<n; i++) {
for(int j=input[i][0];
j<=input[i][1]; j++) {
if(hm.containsKey(j))hm.put(j, i);
}
}
int cnt = 0;
for(int i=0; i<n; i++) {
if(hm.containsValue(i)) cnt++;
}
System.out.print(cnt);
}
}
'알고리즘 문제풀이 > 백준-오답노트' 카테고리의 다른 글
오답노트 #7983 : 내일 할거야 (0) | 2022.11.09 |
---|---|
오답노트 #16564 : 히오스 프로게이머 (0) | 2022.06.10 |
오답노트 #1325 : 효율적인 해킹 (0) | 2022.05.28 |
오답노트 #24479 : 알고리즘 수업 - 깊이 우선 탐색 1 (0) | 2022.05.27 |
오답노트 #1744 : 수 묶기 (0) | 2022.05.07 |