전체 글127 백준 알고리즘 1715번: 카드 정렬하기 문제 정보 1715번: 카드 정렬하기 정렬된 두 묶음의 숫자 카드가 있다고 하자. 각 묶음의 카드의 수를 A, B라 하면 보통 두 묶음을 합쳐서 하나로 만드는 데에는 A+B 번의 비교를 해야 한다. 이를테면, 20장의 숫자 카드 묶음과 30장 www.acmicpc.net 핵심 답이 도출되는 과정을 이해하면 문제를 쉽게 풀 수 있다! 간단히 설명하면, 이 문제는 카드 묶음 중에서 가장 작은 카드 묶음 두 개를 더해 가면서 문제를 풀이하면 된다 카드 묶음이 5장 있다고 가정해 보자, 우리는 카드 묶음 두 개를 고를 때 가지고 있는 묶음 중에서 가장 작은 2개의 묶음을 선택하면 된다 위처럼 모든 카드 묶음을 합쳐서 하나의 묶음으로 만들 때, (10, 20), (30, 30), (40, 50), (60, 90).. 알고리즘/Java 2024. 4. 10. Data structure: Binary Search Tree (이진 탐색 트리) 서론 Binary Search Tree(이진 탐색 트리) 에 관한 지식들을 공부하고, 정리했던 내용을 바탕으로 글을 작성해 보았습니다 혹시나 틀린 내용이 있다면 지적해 주시면, 바로 반영하도록 하겠습니다 Binary Search Tree 란? Binary Search + Linked List Binary Search 장점 : 검색에 특화되어 시간 복잡도 O(log n) 단점 : 삽입 삭제는 되지 않음 Linked List 장점 : 삽입 삭제 시간 복잡도 O(1) 단점 : 검색 시간 복잡도 O(n) Binary Search Tree Binary Search 의 검색 능력을 유지하면서, 빈번한 자료 삽입 및 삭제가 가능하도록 하는 자료 구조 Binary Search Tree 의 특징 A 노드를 기준으로, B.. Dev/Computer Science 2024. 4. 9. 백준 알고리즘 1927번: 최소 힙 문제 정보 1927번: 최소 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 핵심 최소 힙을 구현하거나, 이미 구현되어 있는 Collection 을 사용하면 된다 구현하는 경우에는 클래스를 만들어서, 풀어가면 되고 이미 있는 자료구조를 사용하려면 PriorityQueue (우선순위 큐)를 사용하면 된다 나는 그래도 힙에 대해서 다시금 정리할 겸 구현하여 풀이하는 식으로 풀어 나갔다 Heap 은 완전 이진 트리로 구현되는 자료구조이기 때문에, 노드의 개수를 알면 트리의 구조를 특정할 수 있다는 특징이 있다 그.. 알고리즘/Java 2024. 4. 8. OS - Paging(페이징 기법) 서론 페이징 기법에 관한 지식들을 공부하고, 정리했던 내용을 바탕으로 글을 작성해 보았습니다 혹시나 틀린 내용이 있다면 지적해 주시면, 바로 반영하도록 하겠습니다 Paging ? 모든 프로세스를 일정 크기로 잘라서 메모리에 불연속적으로 배치하는 것 Process 의 논리 주소 공간을 Page 라는 일정 단위로 자름 Memory 의 물리 주소 공간을 Frame 이라는 페이지와 동일한 Size 로 자름 왜 Paging 을 하는가? Process 들의 크기는 모두 제각각이다 프로세스들은 실행되는 시점에 메모리에 배치되어 있어야 실행이 가능하다 프로세스들을 메모리에 탑재하다 보면, 중간 중간에 실행이 끝나 메모리에서 삭제되어 빈 공간이 나타난다 새로 메모리에 배치할 프로세스의 크기가 빈 공간의 크기보다 크다면 .. Dev/Computer Science 2024. 4. 7. CI/CD, 무중단 배포 서론 CI/CD와 무중단 배포에 관한 지식들을 공부하고, 정리했던 내용을 바탕으로 글을 작성해 보았습니다 혹시나 틀린 내용이 있다면 지적해 주시면, 바로 반영하도록 하겠습니다 CI/CD 란? 어플리케이션 개발 단계부터 배포까지 모든 단계를 자동화를 통해 효율적이고 빠르게, 빈번히 배포할 수 있도록 하는 개발 프로세스 CI 란? Continuous Integration (지속적인 통합) 개발을 진행하면서도 품질을 관리할 수 있도록, 여러 명이 하나의 코드에 대해서 수정을 진행해도 지속적으로 통합하면서 관리할 수 있는 것을 의미 통합을 위한 단계의 자동화 코드 변경사항 이후에도 빌드, 테스트를 자동화 Main Repository 에 주기적인 Merge → 추가된 코드와 함께 Build, Test 를 자동으로.. Dev/Computer Science 2024. 4. 7. 이전 1 2 3 4 5 6 7 ··· 26 다음