백준

백준[26069]번 : 붙임성 좋은 총총이 ( JAVA )

하루우울루 2023. 4. 8. 19:41

https://www.acmicpc.net/problem/26069

 

26069번: 붙임성 좋은 총총이

첫번째 줄에는 사람들이 만난 기록의 수 $N\ (1 \le N \le 1\ 000)$이 주어진다. 두번째 줄부터 $N$개의 줄에 걸쳐 사람들이 만난 기록이 주어진다. $i + 1$번째 줄에는 $i$번째로 만난 사람들의 이름 $A_i$

www.acmicpc.net


Code

import java.util.HashSet;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		HashSet<String> set = new HashSet<>();
		
		int n = sc.nextInt();
		
		set.add("ChongChong");
		
		while(n-- > 0) {
			String a = sc.next();
			String b = sc.next();
			
			if(set.contains(a) && !set.contains(b)) {
				set.add(b);
			}
			else if(!set.contains(a) && set.contains(b)) {
				set.add(a);
			}
			
		}
		
		System.out.println(set.size());
		
		sc.close();
		
	}
}

문제만 길고 풀이는 쉽다.

중복저장이 안 되는 Set를 이용해서 문제를 해결했다.

 

Set에 처음 춤을 추는 총총이를 넣어준 후,

입력되는 값을 Set에 포함되어 있는지 확인 후 둘 중 하나라도 포함되어 있다면 Set에 넣어주는 방식이다.

 

마지막에 Set의 크기를 출력해 준다.