목록MAP (4)
변수의 기록
문제 설명 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으면 수업을 들을 수 없기 때문에 체육복을 적절히 빌려 최대한 많은 학생이 체육수업을 들어야 합니다. 전체 학생의 수 n, 체육복을 도난당한 학생들의 번호가 담긴 배열 lost, 여벌의 체육복을 가져온 학생들의 번호가 담긴 배열 reserve가 매개변수로 주어질 때, 체육수업을 들을 수 있는 학생의 최댓값을 return 하도록 solution 함수를..
프로그래머스 코딩테스트 문제 설명 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 제한사항 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. completion의 길이는 participant의 길이보다 1 작습니다. 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다. 참가자 중에는 동명이인이 있을 수 있습니다. 입출력 예 participant completion ret..

1. Map의 개념핵심 특징Key - Value 쌍으로 구성Key는 중복 불가, Value는 중복 가능Key를 기준으로 빠르게 검색 및 저장 가능Java에서는 Map 인터페이스를 통해 이 ADT를 정의하고, 여러 구현체를 제공합니다.2. Map의 주요 구현체구현체특징HashMap내부적으로 Hash Table 구조 사용. 평균 O(1) 접근TreeMap내부적으로 Red-Black Tree 기반. O(log n) 접근LinkedHashMap해시 구조 + 삽입 순서 유지이 글에서는 가장 널리 사용되는 HashMap을 기준으로 설명합니다.3. Hash Table 기반 Map 구조HashMap은 내부적으로 다음 구조를 가집니다:📌 구성 요소배열: 일정 크기의 버킷 공간 (예: 8, 16 등)Hash 함수: Ke..
2025년 4월 3일자바 자료구조 공부자료구조 기초 정리1. 배열 (Array)배열은 동일한 자료형의 데이터를 연속된 메모리 공간에 저장하는 선형 자료구조로, 인덱스를 기반으로 한 임의 접근(random access)이 가능하다. Java에서 배열은 선언 시 고정된 크기를 가지며, 이후 크기를 변경할 수 없다. 배열은 인덱스를 이용한 조회 연산에서 시간 복잡도 O(1)의 효율을 가지며, 삽입 또는 삭제 시 전체 데이터를 이동해야 하므로 O(n)의 시간 복잡도를 갖는다. ex) int[] arr = new int[5];arr[0] = 10; 배열은 메모리상 연속된 공간을 점유하므로 CPU 캐시 효율이 높고, 인덱스를 통한 접근이 매우 빠르다. 그러나 삽입과 삭제 연산이 잦은 경우에는 성능상의 단점이 존재한..