알고리즘/코드트리 문제풀이
코드트리 [자바 java] TreeMap기본
잔디🌿
2023. 9. 6. 15:11
https://www.codetree.ai/missions/8/problems/treemap-basic?&utm_source=clipboard&utm_medium=text
코드트리 | 코딩테스트 준비를 위한 알고리즘 정석
국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.
www.codetree.ai
이 문제는 제목 그대로 TreeMap의 기본 함수를 사용해보는 문제이다.
Entry는 잘 사용해보지 않아서 헷갈렸다. 앞으로 더 많이 연습해보아야겠다.
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.util.*;
import java.io.*;
import java.math.*;
//import java.util.Iterator;
import java.util.Map.Entry;
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());
StringTokenizer st;
TreeMap<Integer,Integer> m = new TreeMap<>();
StringBuilder sb = new StringBuilder();
Iterator<Entry<Integer,Integer>> it;
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) == false){
sb.append("None\n");
}
else sb.append(m.get(a) + "\n");
}
else if(k.equals("remove")){
int a = Integer.parseInt(st.nextToken());
m.remove(a);
}
else if(k.equals("print_list")){
if(m.isEmpty() == true){
sb.append("None\n");
}
else{
it = m.entrySet().iterator();
while(it.hasNext()){
Entry<Integer,Integer> entry = it.next();
sb.append(entry.getValue() + " ");
}
sb.append("\n");
}
}
}
System.out.println(sb);
// 여기에 코드를 작성해주세요.
}
}