목록분류 전체보기 (591)
어흥
문제 링크: programmers.co.kr/learn/courses/30/lessons/43165 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+ programmers.co.kr 1. 주의할 점 - TLE가 날까..? 하는 방식으로 풀어도 TLE가 발생하지 않는다 2. 구현 - 2^20 은 대략 10^6으로 1초인 10^9보다 작으니 브루트포스로 풀어도 가능하다 - 각 수를 총합에서 더하거나 빼면서 진행한다. 끝까지 다다른 경우, Target과 숫자가 일치하면 1을, 아니라면 0을 반환..
문제 링크: programmers.co.kr/learn/courses/30/lessons/43236 코딩테스트 연습 - 징검다리 출발지점부터 distance만큼 떨어진 곳에 도착지점이 있습니다. 그리고 그사이에는 바위들이 놓여있습니다. 바위 중 몇 개를 제거하려고 합니다. 예를 들어, 도착지점이 25만큼 떨어져 있고, 바위가 programmers.co.kr 1. 주의할 점 - 브루트포스로 접근하지 않는다 - 구하려는 수의 범위가 크다 + O(N^2)의 경우로는 TLE가 발생할 것 같다 → 최소 O(NlgN)의 방법으로 접근한다 2. 구현 - 구하려는 답의 크기가 1~10억 사이의 수 → 이분탐색으로 접근 - 파라미터로 전달받은 Rocks의 수가 정렬되어 있지 않다 -> 이분탐색을 위해 정렬 - V 벡터에..
문제 링크: www.acmicpc.net/problem/13144 13144번: List of Unique Numbers 길이가 N인 수열이 주어질 때, 수열에서 연속한 1개 이상의 수를 뽑았을 때 같은 수가 여러 번 등장하지 않는 경우의 수를 구하는 프로그램을 작성하여라. www.acmicpc.net 1. 주의할 점 - 두 포인터로 접근한다 - 아래 TC와 같은 케이스에 대해 정확히 처리한다 더보기 TC #1 5 3 4 1 2 4 2. 구현 - 입력받는 수들을 Arr[] 배열에 저장한다 - 두 포인터 L,R을 이용하여 L~R까지에 대한 처리를 진행한다 - R이 Num과 같을 때까지 진행한다 - Arr[]값이 나타난 수를 Check[] 배열에 저장하며, 만약 Check[]의 값이 True면 중복된 경우가..
문제 링크: www.acmicpc.net/problem/11000 11000번: 강의실 배정 첫 번째 줄에 N이 주어진다. (1 ≤ N ≤ 200,000) 이후 N개의 줄에 Si, Ti가 주어진다. (1 ≤ Si < Ti ≤ 109) www.acmicpc.net 1. 주의할 점 - 모든 강의에 대한 정보와, 현재 진행중인 강의를 어떻게 정렬할 것인지 잘 계획한다 2. 구현 - 모든 강의를 우선순위 PQ에 담는다. PQ의 경우, 시작시간이 빠른순으로 정렬하며, 시작시간이 같은 경우 종료 시간이 빠른 순으로 정렬한다. 종료시간을 1순위로 할 경우, 아래 TC에서 오답을 받게된다 TC #1 6 1 9 2 11 3 11 4 11 12 15 9 17 Answer: 4 - 현재 강의중인 강의실을 PQ2로 설정하고,..
문제 링크: www.acmicpc.net/problem/2982 2982번: 국왕의 방문 지난주에 상그니 아라비아의 국왕 고둘라 창지즈 영사우드가 한국에 도착했다. 고둘라는 매우 중요한 사람이다. 따라서, 경찰은 그가 타고 있는 차량이 길에 진입했을 때, 그가 길에 있는 동안 www.acmicpc.net 1. 주의할 점 - 국왕의 현재 위치를 알고 있어야 한다 or 각 도로가 통제되는 시간을 알고 있어야 한다 - 조건에 맞게 구현을 정확히 해야한다 2. 구현 - 교차로의 수만큼 Dist[] 배열을 초기화한다 - 교황이 방문하는 교차로를 Loc 벡터에 담는다 - 모든 도로에 대한 정보를 V[] 벡터와 도로의 길이를 Road[][] 배열에 담는다 - rSum[] 배열에는 교황이 순서대로 방문하는 교차로까지 ..
보호되어 있는 글입니다.
1. 스케줄러란? : 단기, 중기, 장기스케줄러의 종류가 있으며, 스케줄링하기 위한 Queue에는 Job, Ready, Device Queue가 존재한다 2. 선점/비선점 스케줄러 - 선점형 스케줄링: 우선순위가 높은 프로세스가 추가된다면, 진행중인 프로세스를 중단하고 우선순위가 높은 프로세스 수행 - 비선점형 스케줄링: 우선순위가 높은 프로세스가 추가되더라도 현재 진행중인 프로세스 끝까지 진행 3. 스케줄링 방향 - Utilization↑: CPU의 일하는 시간 - Throughput↑: 단위 시간당 처리한 양 - Turnaround time↓: 프로세스 처리시간 - Waiting time↓: Ready Queue에서 기다리는 시간 - Response time↓: 응답시간 4. 스케줄링의 종류 FCFS..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bFnqt4/btq0HbvjSXZ/Lu7cgkiKhbaFlCf5sF8mgk/img.png)
1. Process 정의: 실행중인 프로그램 각각 독립된 메모리 영역을 할당 받는다 (Code, Data, Heap, Stack) 더보기 타 프로세스와 통신하기 위해선 프로세스간 통신(IPC: Inter Process Communication)이 필요하다 Message Passing Shared Memory 커널이 중재, 데이터 저장 및 읽는다 공유 메모리를 두고 같이 사용 동기화 필요 없다 성능이 좋다 성능이 떨어진다 동기화 필요 - 동시에 메모리 접근 - 메모리 저장 전에 읽으려는 경우 최소 1개의 Thread를 가진다 고유한 프로세스 블록 PCB(Process Control Block)을 가진다 2. Thread 프로세스의(일) 실행 단위 각각의 스레드는 서로 다른일을 수행 → 고유의 Stack +..