728x90
1764번: 듣보잡
첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다.
www.acmicpc.net
흠.. HashMap과 List를 사용해 엄청 간단하게 구현했는데 시간초과가 나왔다
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.StringTokenizer;
public class Solution {
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());
int N = Integer.parseInt(st.nextToken());
int M = Integer.parseInt(st.nextToken());
Map <Integer,String> lmap = new HashMap<>();
List <String> key = new ArrayList<>();
for(int i=0;i<N;i++) {
lmap.put(i,br.readLine());
}
for(int i=0;i<M;i++) {
String str = br.readLine();
if(lmap.containsValue(str))
key.add(str);
}
Collections.sort(key);
for(String s : key) {
sb.append(s+"\n");
}
System.out.println(key.size()+"\n"+sb);
}
}
아 ㅡㅡ ㅋㅋ 진짜 짜증나네
key.size()를 sysout에서 뽑아서 시간초과난 거임 ㅡㅡ 하
sb에 담아놓았으면 좋았을 것을....
--->은 아니었음 !!!!
Map을 key값으로 찾아야 빠름 !!!!!!!!!!!!!!!!!!
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.StringTokenizer;
public class Solution {
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());
int N = Integer.parseInt(st.nextToken());
int M = Integer.parseInt(st.nextToken());
Map <String,Integer> lmap = new HashMap<>();
List <String> list = new ArrayList<>();
for(int i=0;i<N;i++) {
lmap.put(br.readLine(),0);
}
for(int i=0;i<M;i++) {
String str = br.readLine();
if(lmap.containsKey(str))
list.add(str);
}
Collections.sort(list);
for(int i=0;i<list.size();i++) {
sb.append(list.get(i)+"\n");
}
System.out.println(list.size()+"\n"+sb);
}
}
728x90
'알고리즘 > 백준' 카테고리의 다른 글
(백준/자바) 힌트문제1 04. 비트연산자 - 백준 2830번 문제 : 행성 X3 (0) | 2023.07.18 |
---|---|
(백준/자바) 힌트문제1 03. 스택 - 백준 9012번 문제 : 괄호 (0) | 2023.07.18 |
(백준/자바) 1620번 문제 : 나는야 포켓몬 마스터 이다솜 (0) | 2023.05.19 |
(백준/자바) 10815번 문제 : 숫자카드 (HashMap은 속도가 빠르다 !) (0) | 2023.05.19 |
(백준/자바) 19532번 문제 : 수학은 비대면 강의입니다. (0) | 2023.05.19 |