본문 바로가기
알고리즘/코드트리 문제풀이

코드트리 [자바 java] HashSet 기본

by 잔디🌿 2023. 9. 6.

    https://www.codetree.ai/missions/8/problems/hashset-basic?&utm_source=clipboard&utm_medium=text 

     

    코드트리 | 코딩테스트 준비를 위한 알고리즘 정석

    국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.

    www.codetree.ai

    이 문제는 제목 그대로 HashSet 기본 함수를 이용해보는 문제이다.

     

    https://ethereal-coder.tistory.com/153

     

    [알고리즘 개념] Map, Set, Queue

    HashMap TreeMap HashSet TreeSet PreorityQueue HashMap HashMap는 해싱을 기본으로 데이터를 저장한다. HashMap에는 (Key,Value) 형태로 데이터가 저장된다. HashMap은 삽입, 삭제, 탐색 등 모든 함수의 시간복잡도가 전

    ethereal-coder.tistory.com

    이와 관련된 개념은 위에 정리해두었다.

     

    import java.io.*;
    import java.util.*;
    import java.math.*;
    
    
    public class Main {
        public static void main(String[] args) throws IOException{
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            int n = Integer.parseInt(br.readLine());
    
            HashSet<Integer> m = new HashSet<>();
    
            StringTokenizer st;
            StringBuilder sb = new StringBuilder();
    
            for(int i = 0;i<n;i++){
                st = new StringTokenizer(br.readLine());
                String k = st.nextToken();
                
                if(k.equals("add")){
                    int a = Integer.parseInt(st.nextToken());
                    m.add(a);
                }
    
                else if(k.equals("find")){
                    int a = Integer.parseInt(st.nextToken());
                    if(m.contains(a)){
                        sb.append("true" + "\n");
                    }
                    else sb.append("false\n");
                }
    
                else if(k.equals("remove")){
                    int a = Integer.parseInt(st.nextToken());
                    m.remove(a);
                }
                
            }
    
            System.out.println(sb);
    
    
        }
    }