ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • HashSet 예제 #2
    Algorithm/Hash 2021. 12. 29. 10:59
    728x90

    HashSet을 활용한 예제 하나를 더 풀어보자.

     

    #2. 백준 1764 듣보잡 문제

     

    듣도 못한 사람과 보도 못한 사람의 숫자를 입력받고 그만큼씩 사람 이름을 입력받는다. 그리고 듣도 보도 못한 사람을 출력하면 된다. 듣도 못한 사람 집합과 보도 못한 사람 집합의 교집합에 있는 사람 이름을 뽑아 내면 되겠다. 

    어? 그럼 교집합이면 중복이네? 이 점에 착안해서 set의 contains() 메소드를 활용하여 set에 포함되어 있으면 출력시키는 프로그램을 짜보면 될 듯하다.

     

     

    시간을 조금 더 단축시키기 위해 BufferedReaderBufferedWriter를 사용했고, 출력도 bw.write를 사용하여 출력했다. HashSet에 듣도 못한 사람을 입력시키고, str에 보도 못한 사람을 입력시킨다. 그리고 듣도 못한 사람이 포함된 HashSet에 보도 못한 사람 str이 포함 되어 있다면 새로운 출력을 위한 List에 add 시켜 주었다. 그리고 출력만 해주면 끝!! 생각한 알고리즘대로 짠 것 같아 뿌듯.

     

    StringTokenizer는 토큰 단위로 끊을 수 있는 장점이 있어 한 줄로 입력 받을 때 사용하면 좋다. nextToken()을 이용하여 계속 다음 토큰으로 넘어가게 해주면서 parseInt를 이용하여 문자열로 인식된 것을 Integer형으로 변환시켜 주면 for문에서 인덱스의 형태로 사용할 수 있다.

    728x90
Designed by Tistory.