본문 바로가기

자료구조

Programmers 뉴스 클러스터링 java 풀이 1. 문제 설명문제 링크2. 접근 방식(1) HashSet에 나오는 모든 부분 문자열을 저장한다. (2) map1 , map2는 HashMap으로서 각 문자열의 문자가 key, 그 문자가 나오는 개수가 value이다. (3) hashSet에 저장되어 있는 문자를 하나씩 꺼낸다. 해당 문자의 개수를 map1과 map2에서 꺼내서, 합집합과 교집합을 계산한다.합집합: 둘 중 더 개수가 많은 쪽의 개수를 더한다.교집합: 둘 중 하나라도 값이 존재하지 않으면 넘어간다. 둘 다 해당 값을 가지고 있다면 개수가 더 적은 쪽의 개수를 더한다.3. 코드 분석import java.io.*;import java.util.*;class Solution { public int solution(String str1, St.. 더보기
[자료구조] 배열, List, Map, Stack, Queue, Priority Queue 1. Array(1) 정의번호와 번호에 대응되는 값들로 이루어진 자료구조를 의미한다.번호만 알고 있으면, 해당 번호에 해당하는 값을 O(1)에 조회가 가능하다.(2) 특징ⓐ Index에 해당하는 값에 바로 접근할 수 있다. (값 조회에 빠르다.)ⓑ 배열은 선언할 때, 그 크기가 정해진다. 그 이후, 줄이거나, 늘릴 수 없다.ⓒ 따라서 중간에 값을 삽입하거나 삭제하기가 어렵다.만약에 그러한 구현이 꼭 필요하다면, 빈 배열을 통해 변경사항이 반영된 배열을 새로 만들어야 한다.(3) 많이 쓰 함수ⓐ Arrays.asList(T..a): 배열을 ArrayList로 변환시켜준다.ⓑ Arrays.toString(): 배열을 문자열 형태로 변경해준다. 문자열 형태: [a,b,c,d...] → 출력할 때 많이 씀ⓒ A.. 더보기