본문 바로가기

Java17

[PriorityQueue] 우선순위 큐 + Heap 목차 설명 + 시간 복잡도Heap 설명Heap의 삽입 순서Heap (삽입)Insert SimulationHeap FindHeap Erase Simulation 자바 PriortyQueue 계층 구조 이진 검색 트리 기반 vs heap 기반참고자료설명 + 시간 복잡도우선순위 큐 = pop을 할 때 가장 먼저 들어온 원소가 나오는 대신 우선순위가 가장 높은 원소가 나오는 큐원소의 추가가 O(lg N)우선순위가 가장 높은 원소의 확인 O(1)우선순위가 가장 높은 원소의 제거가 O(lg N)그냥 배열로 구현을 하면 세 연산의 시간복잡도가 O(1), O(N), O(N)이 되겠지만Heap 구조를 이용하면 O(lg N), O(1), O(lg N)에 가능하다. Heap이진 트리의 모양을 가지는 자료 구조이진 트리 : .. 2024. 5. 11.
TreeSet, TreeMap TreeSet, TreeMap  -  자바 이진 검색 트리 기반 자료 구조 TreeSetTreeMap이진 검색 트리에 대한 자세한 내용 https://20240228.tistory.com/87 [BinarySearchTree] 이진 검색 트리목차트리 용어 정리이진 트리이진 검색 트리연산(Insert, Delete, Update, Find) 시뮬레이션이진 검색 트리 - 시간 복잡도자가 균형 트리용어 정리정점 : 트리에서의 각 원소루트 : 주어진 트리에서의 120240228.tistory.comTreeSet정렬된 집합 (Set)을 구현한 클래스, 이진 검색 트리 기반중복된 요소 허용 x - SortedSet 인터페이스의 확장요소들이 정렬된 순서로 저장 - SortedSet 인터페이스의 확장내부적으로 레드 -.. 2024. 5. 10.
[Java] 프로그래머스 level3 스티커 모으기(2) https://school.programmers.co.kr/learn/courses/30/lessons/12971 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr코딩테스트 연습 > Summer/Winter Coding(~2018) > 스티커 모으기(2) 문제 설명N개의 스티커가 원형으로 연결되어 있습니다. 다음 그림은 N = 8인 경우의 예시입니다.원형으로 연결된 스티커에서 몇 장의 스티커를 뜯어내어 뜯어낸 스티커에 적힌 숫자의 합이 최대가 되도록 하고 싶습니다. 단 스티커 한 장을 뜯어내면 양쪽으로 인접해있는 스티커는 찢어져서 사용할 수 없게 됩니다. 예를 .. 2024. 5. 3.
[Java] 프로그래머스 level3 선입 선출 스케줄링 (시간초과...) https://school.programmers.co.kr/learn/courses/30/lessons/12920 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코딩테스트 연습 > 연습문제 > 선입 선출 스케줄링 문제 설명 처리해야 할 동일한 작업이 n 개가 있고, 이를 처리하기 위한 CPU가 있습니다. 이 CPU는 다음과 같은 특징이 있습니다. CPU에는 여러 개의 코어가 있고, 코어별로 한 작업을 처리하는 시간이 다릅니다. 한 코어에서 작업이 끝나면 작업이 없는 코어가 바로 다음 작업을 수행합니다. 2개 이상의 코어가 남을 경우 앞의 코어부터 작업을 .. 2024. 4. 21.
[Java] 프로그래머스 level3 베스트앨범 https://school.programmers.co.kr/learn/courses/30/lessons/42579 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코딩테스트 연습 > 해시 > 베스트앨범 문제 설명 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 많이 재생된 장르를 먼저 수록합니다. 장르 내에서 많이 재생된 노래를 먼저 수록합니다. 장르 내에서 재생 횟수가 같은 노래 중에서는 고유 번호가 낮은 노래를 먼저 .. 2024. 4. 20.
[Java] 프로그래머스 level3 가장 긴 팰린드롬 https://school.programmers.co.kr/learn/courses/30/lessons/12904 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코딩테스트 연습 > 연습문제 > 가장 긴 팰린드롬 문제 설명 앞뒤를 뒤집어도 똑같은 문자열을 팰린드롬(palindrome)이라고 합니다. 문자열 s가 주어질 때, s의 부분문자열(Substring)중 가장 긴 팰린드롬의 길이를 return 하는 solution 함수를 완성해 주세요. 예를들면, 문자열 s가 "abcdcba"이면 7을 return하고 "abacde"이면 3을 return합니다. 제한.. 2024. 4. 19.