배열(Array)과 리스트(List), ArrayList와 Linked List
·
Computer Science/Data Structure
배열(Array)배열은 동일한 데이터 타입의 요소들이 연속된 메모리 공간에 저장된 자료 구조이다.특징 : 배열 선언 시 크기가 고정된다.한번 결정된 크기는 변경할 수 없다.인덱스를 사용하여 요소에 빠르게 접근할 수 있으며, 인덱스는 0부터 시작한다.배열 안의 모든 요소가 동일한 데이터 타입을 가진다.연속된 메모리 공간에 할당 된다. Java에서 배열 다루기// 배열 만들기int[] arr1;// 배열 만들면서 크기 지정int[] arr2 = new int[5];// 배열 만들면서 크기+값 지정int[] arr3 = {1, 2, 3, 4, 5};// arr3 배열에서 index 0인 요소에 접근System.out.println(arr3[0]); // 1   Java의 Arrays 클래스Java에서 배열 자..
[프로그래머스/level 2] 예상 대진표 - 12985
·
코딩 테스트 정복기/프로그래머스
[level 2] 예상 대진표 - 12985문제 링크 성능 요약메모리: 67.7 MB, 시간: 0.04 ms구분코딩테스트 연습 > 2017 팁스타운채점결과정확성: 100.0합계: 100.0 / 100.0제출 일자2024년 11월 04일 17:28:35문제 설명△△ 게임대회가 개최되었습니다. 이 대회는 N명이 참가하고, 토너먼트 형식으로 진행됩니다. N명의 참가자는 각각 1부터 N번을 차례대로 배정받습니다. 그리고, 1번↔2번, 3번↔4번, ... , N-1번↔N번의 참가자끼리 게임을 진행합니다. 각 게임에서 이긴 사람은 다음 라운드에 진출할 수 있습니다. 이때, 다음 라운드에 진출할 참가자의 번호는 다시 1번부터 N/2번을 차례대로 배정받습니다. 만약 1번↔2번 끼리 겨루는 게임에서 2번이 승리했다면 다..
[백준/Silver I] 회의실 배정 - 1931
·
코딩 테스트 정복기/백준
[Silver I] 회의실 배정 - 1931문제 링크 성능 요약메모리: 97796 KB, 시간: 940 ms분류그리디 알고리즘, 정렬제출 일자2024년 11월 1일 19:06:19문제 설명한 개의 회의실이 있는데 이를 사용하고자 하는 N개의 회의에 대하여 회의실 사용표를 만들려고 한다. 각 회의 I에 대해 시작시간과 끝나는 시간이 주어져 있고, 각 회의가 겹치지 않게 하면서 회의실을 사용할 수 있는 회의의 최대 개수를 찾아보자. 단, 회의는 한번 시작하면 중간에 중단될 수 없으며 한 회의가 끝나는 것과 동시에 다음 회의가 시작될 수 있다. 회의의 시작시간과 끝나는 시간이 같을 수도 있다. 이 경우에는 시작하자마자 끝나는 것으로 생각하면 된다.입력 첫째 줄에 회의의 수 N(1 ≤ N ≤ 100,000)이 ..
메모리 할당 - 연속할당(고정분할, 가변분할)과 불연속할당(페이징, 세그멘테이션, 페이지드세그멘테이션), 단편화
·
Computer Science/Operating System
단편화내부단편화외부단편화메모리 블록 안에 사용되지 않는 공간이 발생하는 현상.메모리 블록 밖에 사용 가능한 메모리 공간이 여러 조각으로 나뉘어, 필요한 만큼의 큰 연속된 메모리 블록을 확보하지 못하는 현상.      프로그램에 필요한 메모리를 할당할 때 시작 메모리 위치, 메모리 할당 크기를 기반으로 할당하며, 연속할당과 불연속 할당으로 나뉜다.  연속할당 (contiguous memory allocation)하나의 연속된 메모리 블록에 프로세스를 할당하는 방식. 물리적으로 연속된 공간을 사용하는 메모리 관리 기법이다. 고정 분할 (Fixed Partitioning)메모리를 일정한 크기로 분할하여 프로세스를 할당하는 방식. 즉, 시스템이 시작될 때 고정된 크기의 파티션으로 나누고 이 크기가 변하지 않는다..
캐시 종류와 캐시 매핑( 직접매핑, 연관매핑, 집합-연관 매핑)
·
Computer Science/Operating System
캐시(cache)란?캐시는 컴퓨팅에서 자주 사용되는 데이터나 연산 결과를 임시로 저장하는 고속 메모리이다.메인 메모리보다 빠른 속도로 데이터에 접근할 수 있도록 설계되어 있어, 시스템 성능을 크게 향상시킬 수 있다.특히 CPU와 메모리 간의 병목 현상을 줄이는 데 중요한 역할을 한다.  캐시 히트(Cache Hit)요청한 데이터가 캐시에 존재하는 경우를 뜻함. 캐시 히트가 발생하면 데이터 접근시간이 매우 짧아짐.캐시 미스(Cache Miss)요청한 데이터가 캐시에 없는 경우를 뜻함. 캐시 미스가 발생하면 메인메모리에서 데이터를 가져와야함. 접근시간 길어짐.캐시 일관성(Cache Coherency)여러 캐시가 동일한 메모리 영역을 공유할 때 데이터 일관성을 유지하는 메커니즘. 특히 멀티프로세서 시스템에서 ..
[백준/Silver II] 트리의 부모 찾기 - 11725
·
코딩 테스트 정복기/백준
[Silver II] 트리의 부모 찾기 - 11725문제 링크 성능 요약메모리: 139276 KB, 시간: 1184 ms분류그래프 이론, 그래프 탐색, 트리, 너비 우선 탐색, 깊이 우선 탐색제출 일자2024년 11월 1일 13:14:50문제 설명루트 없는 트리가 주어진다. 이때, 트리의 루트를 1이라고 정했을 때, 각 노드의 부모를 구하는 프로그램을 작성하시오.입력 첫째 줄에 노드의 개수 N (2 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N-1개의 줄에 트리 상에서 연결된 두 정점이 주어진다.출력 첫째 줄부터 N-1개의 줄에 각 노드의 부모 노드 번호를 2번 노드부터 순서대로 출력한다.제출코드//https://www.acmicpc.net/problem/11725import java.io.*;..
[백준/Silver I] 트리 순회 - 1991
·
코딩 테스트 정복기/백준
[Silver I] 트리 순회 - 1991문제 링크 성능 요약메모리: 11508 KB, 시간: 68 ms분류재귀, 트리제출 일자2024년 11월 1일 12:38:20문제 설명이진 트리를 입력받아 전위 순회(preorder traversal), 중위 순회(inorder traversal), 후위 순회(postorder traversal)한 결과를 출력하는 프로그램을 작성하시오.예를 들어 위와 같은 이진 트리가 입력되면, 전위 순회한 결과 : ABDCEFG // (루트) (왼쪽 자식) (오른쪽 자식) 중위 순회한 결과 : DBAECFG // (왼쪽 자식) (루트) (오른쪽 자식) 후위 순회한 결과 : DBEGFCA // (왼쪽 자식) (오른쪽 자식) (루트)가 된다.입력 첫째 줄에는 이진 트..
교착 상태(deadlock)와 은행원 알고리즘
·
Computer Science/Operating System
교착 상태란?두 개 이상의 프로세스나 스레드가 서로 상대방의 작업이 끝나기를 무한정 기다리며, 결국 아무것도 완료되지 않는 상태.   교착 상태의 원인 (조건)상호배제(Mutual Exclusion):  자원은 한번에 하나의 프로세스만 사용 가능점유대기(Hold and Wait): 최소 하나의 자원을 점유하고 있으며, 추가 자원을 요청하여 대기중인 프로세스가 존재비선점(Non-preemptive): 자원을 강제로 뺏을 수 없음환형 대기(Circular Wait): 대기하고 있는 프로세스들 간의 순환적인 고리가 형성됨.4가지 조건이 모두 충족되어도 교착상태는 발생하지 않을 수 있다. 그러나 4가지 조건이 모두 충족되어야 “교착상태가 일어날 수” 있다.     교착 상태 해결 방법 교착상태 예방(Preven..
[프로그래머스/level 2] 오픈채팅방 - 42888
·
코딩 테스트 정복기/프로그래머스
[level 2] 오픈채팅방 - 42888문제 링크성능 요약메모리: 172 MB, 시간: 139.56 ms구분코딩테스트 연습 > 2019 KAKAO BLIND RECRUITMENT채점결과정확성: 100.0합계: 100.0 / 100.0제출 일자2024년 10월 29일 02:03:07문제 설명오픈채팅방카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다.신입사원인 김크루는 카카오톡 오픈 채팅방을 개설한 사람을 위해, 다양한 사람들이 들어오고, 나가는 것을 지켜볼 수 있는 관리자창을 만들기로 했다. 채팅방에 누군가 들어오면 다음 메시지가 출력된다."[닉네임]님이 들어왔습니다."채팅방에서 누군가 나가면 다음 메시지가 출력된다..