Algorithm/백준 알고리즘

백준_1764 듣보잡(자바) / 문자열

미스터로즈 2021. 7. 7. 10:56

시간&메모리 제한

 

문제

 

입력&출력

 

문제풀이

package com.Back;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
import java.util.StringTokenizer;

public class Back_1764 {

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st = new StringTokenizer(br.readLine());
		int N = Integer.parseInt(st.nextToken());
		int M = Integer.parseInt(st.nextToken());
		Set<String> set = new HashSet<String>();
		ArrayList<String> arr = new ArrayList<String>();
		
		for (int i = 0; i < N; i++) {
			set.add(br.readLine());
		}
		
		for (int i = 0; i < M; i++) {
			String tmp = br.readLine();
			if(set.contains(tmp)) {
				arr.add(tmp);
			}
		}
		Collections.sort(arr);
		System.out.println(arr.size());
		for (int i = 0; i < arr.size(); i++) {
			System.out.println(arr.get(i));
		}
	}
}

- 이 문제의 경우 문자열을 이용해서 해결하는 문제였습니다. 

 

- Set을 이용해서 N개의 문자열을 담았습니다.

 

- 그리고 for문을 통해서 앞으로 나올 문자열에 대한 비교 작업을 합니다.

 

- 동일한 문자열에 대해서 정렬 처리를 해주고 출력을 해줍니다.