반응형
[알고리즘][문자열][1764] 듣보잡
* 문제
https://www.acmicpc.net/problem/1764
* 풀이
Java를 얼마나 활용할 수 있느냐에 따라 해결 속도가 갈릴 것 같은 문제.
HashMap과 List의 기능을 잘 활용하면 금방 해결할 수 있는 문제이다.
*코드
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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | package algorithm_String; import java.util.Collections; import java.util.HashMap; import java.util.LinkedList; import java.util.List; import java.util.Scanner; public class q_1764 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int n = scan.nextInt(); int m = scan.nextInt(); scan.nextLine(); HashMap<String, String> map =new HashMap<>(); for(int i=0;i<n;i++) { String tmp = scan.nextLine(); map.put(tmp, "N"); } /* * 1. m을 입력받을 때, n에 있는지 검사 * 2. Hash Map을 활용하도록 한다. * 3. containsKey 이용한다. * 4. 이후 Collections의 sort 활용 위해 결과값을 list에 담는다. */ int cnt = 0; List<String> list = new LinkedList<>(); for(int i=0;i<m;i++) { String tmp = scan.nextLine(); if(map.containsKey(tmp)) { list.add(tmp); cnt++; } } System.out.println(cnt); Collections.sort(list); for(int i=0;i<list.size();i++) { System.out.println(list.get(i)); } } } | cs |
반응형
'CS > Algorithm' 카테고리의 다른 글
[알고리즘][DFS][2468] 안전영역 (JAVA) (0) | 2018.04.23 |
---|---|
[알고리즘][문자열][9933] 민균이의 비밀번호 (0) | 2018.04.21 |
[알고리즘][문자열][2941] 크로아티아 알파벳 (0) | 2018.04.19 |
[알고리즘][문자열][2908] 상수 (0) | 2018.04.15 |
[알고리즘] 백트래킹(Backtracking) (1) | 2018.04.13 |
댓글