알고리즘/코드트리 문제풀이

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

잔디🌿 2023. 9. 6. 15:54

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

 

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

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

www.codetree.ai

 

이 문제는 제목 그대로 HashMap의 이용을 기본으로 하는 문제이다.

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());

        HashMap<Integer,Integer> m = new HashMap<>();

        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());
                int b = Integer.parseInt(st.nextToken());
                m.put(a,b);
            }

            else if(k.equals("find")){
                int a = Integer.parseInt(st.nextToken());
                if(m.containsKey(a)){
                    sb.append(m.get(a) + "\n");
                }
                else sb.append("None\n");
            }

            else if(k.equals("remove")){
                int a = Integer.parseInt(st.nextToken());
                m.remove(a);
            }
            
        }

        System.out.println(sb);


    }
}