HashMap 4

(프로그래머스) 다단계 칫솔

위처럼 자식노드에서 수익이 발생시, 부모노드에게 자기의 이익을 나눠주는 방식이다. 따라서 처음에는 graph방식으로 구현을 하려다가, 각각의 노드의 이름이 String형식으로 제시되었으니 Map을 이용해서 Key(이름)에 따른 Value(수익)으로 구현하였다. 단, 각각의 노드에 대하여 부모-자식 관계일 필요 없이 부모가 있으면 재귀를 호출하게 되는 방식이면 충분했다. 따라서, enroll_refer 이라는 HashMap을 구현하여 자식노드에 대하여 부모를 참조할 수 있게 했다. import java.util.HashMap; class Solution { static HashMap hm = new HashMap(); static HashMap enroll_refer = new HashMap(); publ..

(2021카카오) 메뉴 리뉴얼 Java

이 문제의 가장 큰 포인트는 조합이다. 1. 조합 각 문자열에 대하여 나올수 있는 조합을 구하는데, 그 조합을 nCr이라고 할때, r값은 course[i]로 주어진 것이고, n값은 각 코스요리의 길이 이므로 orders[i].length로 주어진다. 2. 알파벳순 정렬 고려하는 새로운 코스요리 세트에 대하여, AB와 BA는 같은 것이므로 오름차순 정렬을 시행한다. 이는 map에 집어넣을때부터 비교연산을 하는 모든 경우에서 필요하므로 미리 정렬 시켜야한다. 실패코드 더보기 테스트케이스 3만 성공한다. import java.util.*; class Solution { private static Map map = new HashMap(); static void print(String arr, boolean[]..

List, Map,Set 정리

//맵 : key, value Map map = new HashMap(); //셋 HashSet hash = new HashSet(); 인터페이스 구현 클래스 특징 List LinkedList Stack Vector ArrayList 순서가 있는 데이터의 집합, 데이터의 중복을 허용함 Set HashSet TreeSet 순서를 유지하지 않는 데이터의 집합, 데이터의 중복을 허용하지 않음 Map HashMap TreeMap HashTable Properties 키(key)와 값(value)의 쌍으로 이루어진 데이터의 집합 순서는 유지되지 않고, 키는 중복을 허용하지 않으며 값의 중복을 허용함 ArrayList의 특징 동기화를 보장해주지 않는다. 배열에 동적 메모리 증가 기능을 구현한 클래스이다. 동기화 지..