[실버4] BOJ1763 듣보잡

junjeong·2025년 11월 3일
0

백준 문제풀이

목록 보기
7/15
post-thumbnail

요구사항

듣도 보도 못한 사람의 명단을 구하는 프로그램을 작성하시오.

손으로 풀기

  • N만큼 StringToken을 요소로 담은 배열을 만든다.
  • M만큼 StringToken을 요소로 가진 배열을 만든다.
  • 두개의 배열에서 똑같은 요소가 있다면 담긴 배열 result를 만든다.

Sudo Code

int N; //듣도 못한 사람
int M; //보도 못한 사람
List<같은거> result;

for(N만큼 순회){
	for(M만큼 순회) {
		if(NM이 같으면)	 result.add(같은거)
	}
}

sout(result길이)
for(result만큼 순회) {
	sout(result 요소)
}

Code

import javax.print.DocFlavor;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;

public class BOJ1763 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        String[] NM = br.readLine().split(" ");
        int N = Integer.parseInt(NM[0]);
        int M = Integer.parseInt(NM[1]);

        HashSet<String> hashSet = new HashSet<>();
        List<String> twiceArr = new ArrayList<>();

        for(int i=0;i<N;i++){
            hashSet.add(br.readLine());
        }

        for(int i=0;i<M;i++){
            String targetString = br.readLine();
            if(hashSet.contains(targetString)) twiceArr.add(targetString);
        }

        Collections.sort(twiceArr);
        
        System.out.println(twiceArr.size());
        for(String el : twiceArr) {
            System.out.println(el);
        }
    }
}

핵심 요구사항

  • A 값이 자료구조 B에 있는가? → O1의 조회 성능 → ArrayList는 ON, HashSet은 O1 (HashSet을 잘 알고 있는가?)
  • Colletion의 sort 메서드를 알고 있는가?
profile
Whether you're doing well or not, just keep going👨🏻‍💻🔥

0개의 댓글