본문 바로가기
반응형

전체 글172

멀티 프로세스(Multi Process)란? 멀티 프로세스 두개 이상의 프로세서가 협력적으로 하나 이상의 작업을 동시에 처리하는 것 -> 병렬처리, 각 프로세스 간 메모리 구분이 필요하거나 독립된 주소 공간을 가져야 할 경우 사용 메모리 독립적 장점 독립된 구조로 안전성이 높음 프로세스 중 하나에 문제가 생겨도 다른 프로세스에 영향을 주지 않아, 전체 프로세스가 정지되거나 하는 문제가 발생하지 않음 여러 개의 프로세스가 처리되어야 할 때 동일한 데이터를 사용하고, 이러한 데이터를 하나의 디스크에 두소 모든 프로세서가 이를 공유하면 비용적으로 저렴 문제점 독립된 메모리 영역이기 떄문에 작업량이 많을수록 오버헤드가 발생하여 성능저하가 발생할 수 있음 [Context Switching](Context Switching) 과정에서 Cache 메모리 초기화.. 2023. 2. 1.
백준 24060번 알고리즘 수업 - 병합 정렬 1 | python https://www.acmicpc.net/problem/24060 24060번: 알고리즘 수업 - 병합 정렬 1 첫째 줄에 배열 A의 크기 N(5 ≤ N ≤ 500,000), 저장 횟수 K(1 ≤ K ≤ 108)가 주어진다. 다음 줄에 서로 다른 배열 A의 원소 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 109) www.acmicpc.net 문제 오늘도 서준이는 병합 정렬 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. N개의 서로 다른 양의 정수가 저장된 배열 A가 있다. 병합 정렬로 배열 A를 오름차순 정렬할 경우 배열 A에 K 번째 저장되는 수를 구해서 우리 서준이를 도와주자. 크기가 N인 배열에 대한 병합 정렬 의사 코드는 다음과 .. 2023. 1. 29.
퀵 정렬(Quick Sort) 정리 개요 다른 원소와의 비교만으로 정렬을 수행하는 비교 정렬 시간복잡도 평균적으로는 O(N logN)이고 최악의 경우에는 O(N^2)이다. 최악의 경우는 정렬하고자하는 배열이 오름차순 혹은 내림차순으로 되어있는 경우이다. 매 단계에서 적어도 1 개의 원소가 자기자리를 찾게 됨 때문에 일반적으로 다른 O(N logN) 알고리즘 비해 훨씬 빠르게 동작 공간복잡도 메모리 측면에서도 O(logN)만큼의 메모리 차지 이는 제귀적으로 호출하기 때문에 최악의 경우에는 O(N)의 공간 복잡도로 보임 알고리즘 분할 정복을 통해 리스트를 정렬 리스트 가운데 하나의 원소를 선택하고 이를 피벗(p)이라 부른다. 피벗 앞에는 피벗보다 값이 작은 모든 원소들이 오고, 피벗 뒤에는 피벗보다 큰 모든 원소들이 오도록 둘을 나눈다. 이렇.. 2023. 1. 27.
소프티어(softeer) [인증평가(5차) 기출] 성적 평가 | python https://softeer.ai/practice/info.do?idx=1&eid=1309 Softeer 연습문제를 담을 Set을 선택해주세요. 취소 확인 softeer.ai 문제 현주는 N명의 인원이 참여하는 프로그래밍 스터디 그룹을 이끌고 있다. 현주는 스터디를 위해 대회를 세 개 개최하였고, 모든 구성원이 각 대회에 참여하였다. 참가자는 각 대회에서 0 이상 1,000 이하의 정수인 점수를 얻는다. 한 대회에서 둘 이상의 참가자가 동점이 나오는 경우도 있을 수 있다. 현주는 각 대회별 등수 및 최종 등수를 매기고 싶다. 등수는 가장 점수가 높은 사람부터 1등, 2등, ···, N등의 순서대로 붙는다. 만일 동점이 있을 경우 가능한 높은 (등수의 수가 작은) 등수를 부여한다. 즉, 점수가 내림차순으로.. 2023. 1. 26.
백준 24479번 알고리즘 수업 - 깊이 우선 탐색 1 | python https://www.acmicpc.net/problem/24479 24479번: 알고리즘 수업 - 깊이 우선 탐색 1 첫째 줄에 정점의 수 N (5 ≤ N ≤ 100,000), 간선의 수 M (1 ≤ M ≤ 200,000), 시작 정점 R (1 ≤ R ≤ N)이 주어진다. 다음 M개 줄에 간선 정보 u v가 주어지며 정점 u와 정점 v의 가중치 1인 양 www.acmicpc.net 문제 오늘도 서준이는 깊이 우선 탐색(DFS) 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. N개의 정점과 M개의 간선으로 구성된 무방향 그래프(undirected graph)가 주어진다. 정점 번호는 1번부터 N번이고 모든 간선의 가중치는 1이다. 정점 R에서 시작하여 깊이.. 2023. 1. 26.
소프티어(softeer) [인증평가(5차) 기출] 업무 처리 | python https://softeer.ai/practice/info.do?idx=1&eid=1256 Softeer 연습문제를 담을 Set을 선택해주세요. 취소 확인 softeer.ai 문제 어떤 부서의 업무 조직은 완전이진트리 모양이다. 즉, 부서장이 루트이고 부서장 포함 각 직원은 왼쪽과 오른쪽의 부하 직원을 가진다. 부하 직원이 없는 직원을 말단 직원이라고 부른다. 모든 말단 직원은 부서장까지 올라가는 거리가 동일하다. 조직도 트리의 높이는 H이다. 아래는 높이가 1이고 업무가 3개인 조직도를 보여준다. 업무는 R일 동안 진행된다. 처음에 말단 직원들만 각각 K개의 순서가 정해진 업무를 가지고 있다. 각 업무는 업무 번호가 있다. 각 날짜에 남은 업무가 있는 경우, 말단 직원은 하나의 업무를 처리해서 상사에게.. 2023. 1. 26.
백준 2470번 두 용액 | python https://www.acmicpc.net/problem/2470 2470번: 두 용액 첫째 줄에는 전체 용액의 수 N이 입력된다. N은 2 이상 100,000 이하이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 수들은 모두 -1,000,000,000 이상 1,000,00 www.acmicpc.net 문제 KOI 부설 과학연구소에서는 많은 종류의 산성 용액과 알칼리성 용액을 보유하고 있다. 각 용액에는 그 용액의 특성을 나타내는 하나의 정수가 주어져있다. 산성 용액의 특성값은 1부터 1,000,000,000까지의 양의 정수로 나타내고, 알칼리성 용액의 특성값은 -1부터 -1,000,000,000까지의 음의 정수로 나타낸다. 같은 양의 두 용액을 혼합한 용액의 .. 2023. 1. 25.
백준 1966번 프린터 큐 | python https://www.acmicpc.net/problem/1966 1966번: 프린터 큐 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 www.acmicpc.net 문제 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 쌓여서 FIFO - First In First Out - 에 따라 인쇄가 되게 된다. 하지만 상근이는 새로운 프린터기 내부 소프트웨어를 개발하였는데, 이 프린터기는 다음과 같은 조건에 따라 인쇄를 하게 된다.. 2023. 1. 24.
한글 오토마타 만들기 - 3 문자열 변환하기 문자열을 변환하는 작업은 한글로 변환하면서 해당 문자가 초성인지, 중성인지, 종성인지 판단하는 것도 중요하다. 이를 구분하기 위해 5가지로 분류할 수 있는데, 자음만 있는 경우 -> c 초성인 경우 -> l 모음인 경우 -> v 종성인 경우 -> t 로 지정해주고 나머지는 그대로 값을 넣어준다. def MakeHangeul(words: str) -> str: # ----- 중략 ----- # 입력 받은 값을 저장하고 단어 조합하기 위한 값을 저장하는 변수 result, result_state = "", [] idx, n = 0, len(words) # 입력 받은 것을 index에 따라 저장을 # 초성: l, 모음: v, 종성: t, 자음만: c 로 분류하며 저장 while idx < n:.. 2023. 1. 18.
반응형