분류 전체보기 127

2022.01.29. 2차 CS 스터디: 멀티 프로세스 환경/IPC/Shared Memory/Message Passing/ Communication Link/Block&Non-Block/소켓/RPC

멀티 프로세스 환경 한 대의 컴퓨터에 여러 개의 프로세스(서비스)를 띄워 사용하는 방식 각 프로세스는 독립적인 메모리를 할당 받기 떄문에, 메모리 공유를 위해서는 IPC를 사용해야 함 IPC(Inter Process Communication) 프로세스 혹은 스레드가 데이터를 교환하는 기법 공유 메모리(Shared Memory) 여러 프로그램이 동시에 접근할 수 있는 메모리 성능은 좋지만, 동기화 문제 발생 메시지 교환(Messaging Passing) 커널(운영체제)가 프로세스간 서로 자원에 접근이 불가능하기 때문에 대리 전달해주는 것 안전하고 동기화 문제가 없는 대신, 성능이 떨어짐 RPC(Remote Procedure Call) 별도의 원격 제어를 위한 코딩 없이 다른 주소 공간에서 리모트의 함수나 ..

CS/CS STUDY 2022.01.29

2022.01.23. 1차 CS 스터디: 운영체제/커널/프로세스/PCB/스레드/TimeSharing/ContextSwitch/fork/vfork/좀비프로세스/고아프로세스

운영체제(OS, Operating System) 시스템 하드웨어 관리와 응용 소프트웨어를 실행하기 위한 하드웨어 추상화 플랫폼과 공통 시스템 서비스를 제공하는 시스템 소프트웨어 > 한정된 자원으로 효율적인 일처리를 하도록 편하게 도와주는 소프트웨어 사용 목적 편리성 CUI GUI 효율성 시스템 보호 프로세스와 쓰레드 관리 구조 커널(Kernel) 운영체제의 핵심으로 메모리에 상주하여 가장 빈번하게 사용되는 기능 담당 프로세스, 메모리 관리 등 핵, 관리자 프로그램, 상주 프로그램, 제어 프로그램이라고도 함 시분할 시스템(Time Sharing System) 여러 사용자가 시스템 및 가상 메모리 관리 사용자 지향적(User-oriented) 장점 응답시간 단축 생산성 향상, 프로세서 유휴 시간 감소 단점 ..

CS/CS STUDY 2022.01.18

[코딩테스트] 자바 Java, 에라토스테네스의 체: 소수 찾기

에라토스테네스의 체 Sieve of Eratosthenes 고대 그리스의 수학자 에라토스테네스가 만들어 낸 소수를 찾는 방법 마치 체로 치듯 수를 걸러내가며 소수를 찾아가는 방법 특정 범위 내의 소수를 찾는 방법 완전 탐색(일종의 노가다 방식)이라 무식한 방법이지만, 특정 범위가 주어지고 그 범위 내의 모든 소수를 찾아야 하는 경우 이보다 빠른 방법이 없음. 다만, '특정 범위 내의 소수'를 판정하는 데에만 효율적 소수 Prime Number 1보다 큰 자연수 중 1과 자기 자신만을 약수로 가지는 수 2, 3, 5, 7, 11, ... 방법 범위 내의 모든 수 나열 소수도, 합성수도 아닌 1부터 제거 2부터 차례대로 소수인 n의 배수를 모두 제거 주어진 범위가 k라면 √k보다 작은 소수들에 한하여 3.의..

[코딩테스트] 자바 Java, 순열과 조합: 순열

순열과 조합 순열 Permutation : nPr 서로 다른 n개 중의 r개를 뽑을 때, 순서를 포함한 경우의 수 중복 가능한 n개 중 r개를 뽑으면, 중복 순열 예시 {A, B} 중 2개를 뽑는 순열 : {A, B,}, {B, A} 조합 Combination : nCr 서로 다른 n개 중의 r개를 뽑을 때, 순서의 상관없이 뽑는 경우의 수 중복 가능한 n개 중 r개를 뽑으면, 중복 조합 예시 {A, B} 중 2개를 뽀는 조합 : {A, B} 순열의 개수 nPk = n! / (n-k)! 순열의 개수 구하기 예시(JAVA) public class NumberOfPermutation { public static void main(String[] args) { int n = 3, r = 3; System.ou..

[프로그래머스] 오라클 Oracle SQL, 코딩테스트 연습 > 2021 Dev-Matching: 웹 백엔드 개발자(상반기) : 헤비 유저가 소유한 장소

코딩테스트 연습 - 헤비 유저가 소유한 장소 PLACES 테이블은 공간 임대 서비스에 등록된 공간의 정보를 담은 테이블입니다. PLACES 테이블의 구조는 다음과 같으며 ID, NAME, HOST_ID는 각각 공간의 아이디, 이름, 공간을 소유한 유저의 아이디를 programmers.co.kr 문제 설명 PLACES 테이블은 공간 임대 서비스에 등록된 공간의 정보를 담은 테이블입니다. PLACES 테이블의 구조는 다음과 같으며 ID, NAME, HOST_ID는 각각 공간의 아이디, 이름, 공간을 소유한 유저의 아이디를 나타냅니다. ID는 기본키입니다. NAME TYPE ID INT NAME VARCHAR HOST_ID INT 문제 이 서비스에서는 공간을 둘 이상 등록한 사람을 "헤비 유저"라고 부릅니다...

[프로그래머스] 오라클 Oracle SQL, 코딩테스트 연습 > Summer/Winter Coding(2019) > 우유와 요거트가 담긴 장바구니

코딩테스트 연습 - 우유와 요거트가 담긴 장바구니 CART_PRODUCTS 테이블은 장바구니에 담긴 상품 정보를 담은 테이블입니다. CART_PRODUCTS 테이블의 구조는 다음과 같으며, ID, CART_ID, NAME, PRICE는 각각 테이블의 아이디, 장바구니의 아이디, 상품 종류, 가 programmers.co.kr 문제 설명 CART_PRODUCTS 테이블은 장바구니에 담긴 상품 정보를 담은 테이블입니다. CART_PRODUCTS 테이블의 구조는 다음과 같으며, ID, CART_ID, NAME, PRICE는 각각 테이블의 아이디, 장바구니의 아이디, 상품 종류, 가격을 나타냅니다. NAME TYPE ID INT CART_ID INT NAME VARCHAR PRICE INT 데이터 분석 팀에서는..

[프로그래머스] 자바 Java, 코딩테스트 > 그래프 > 가장 먼 노드

코딩테스트 연습 - 가장 먼 노드 6 [[3, 6], [4, 3], [3, 2], [1, 3], [1, 2], [2, 4], [5, 2]] 3 programmers.co.kr 문제 설명 n개의 노드가 있는 그래프가 있습니다. 각 노드는 1부터 n까지 번호가 적혀있습니다. 1번 노드에서 가장 멀리 떨어진 노드의 갯수를 구하려고 합니다. 가장 멀리 떨어진 노드란 최단경로로 이동했을 때 간선의 개수가 가장 많은 노드들을 의미합니다. 노드의 개수 n, 간선에 대한 정보가 담긴 2차원 배열 vertex가 매개변수로 주어질 때, 1번 노드로부터 가장 멀리 떨어진 노드가 몇 개인지를 return 하도록 solution 함수를 작성해주세요. 제한사항 노드의 개수 n은 2 이상 20,000 이하입니다. 간선은 양방향이며..

[프로그래머스] 자바 Java, 코딩테스트 > 깊이/너비 우선 탐색(DFS/BFS) > 네트워크

코딩테스트 연습 - 네트워크 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있 programmers.co.kr 문제 설명 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있습니다. 따라서 컴퓨터 A, B, C는 모두 같은 네트워크 상에 있다고 할 수 있습니다. 컴퓨터의 개수 n, 연결에 대한 정보가 담긴 2차원 배열 computers가 매개변수로 주어질 때,..

[프로그래머스] 자바 Java, 코딩테스트 > 깊이/너비 우선 탐색(DFS/BFS) > 타겟 넘버

코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+ programmers.co.kr 문제 설명 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+1 = 3 +1+1-1+1+1 = 3 +1+1+1-1+1 = 3 +1+1+1+1-1 = 3 사용할 수 있는 숫자가 담긴 배열 numbers, 타겟 넘버 target이..

[프로그래머스] 자바 Java, 코딩테스트 > 완전탐색 > 카펫

코딩테스트 연습 - 카펫 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 programmers.co.kr 문제 설명 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 갈색으로 색칠된 격자의 개수는 기억했지만, 전체 카펫의 크기는 기억하지 못했습니다. Leo가 본 카펫에서 갈색 격자의 수 brown, 노란색 격자의 수 yellow가 매개변수로 주어질 때 카펫의 가로, 세로 크기를 순서대로 배열에 담아 return 하도록 s..

728x90
반응형