본문 바로가기

전체 글

[프로그래머스/C++] N-Queen - 컴도리돌이 문제 설명 가로, 세로 길이가 n인 정사각형으로 된 체스판이 있습니다. 체스판 위의 n개의 퀸이 서로를 공격할 수 없도록 배치하고 싶습니다. 예를 들어서 n이 4인경우 다음과 같이 퀸을 배치하면 n개의 퀸은 서로를 한 번에 공격할 수 없습니다. 체스판의 가로 세로의 세로의 길이 n이 매개변수로 주어질 때, n개의 퀸이 조건에 만족 하도록 배치할 수 있는 방법의 수를 return 하는 solution함수를 완성해주세요. 제한사항 퀸(Queen)은 가로, 세로, 대각선으로 이동할 수 있습니다. n은 12이하의 자연수입니다. #include #include using namespace std; int board_size ; int answer = 0; bool is_possible(int h, int w,ve.. 더보기
[Nodejs] 익스프레스(express)로 웹 서버 구현 - 컴도리돌이 http 모듈만 사용해서 웹 서버를 구성할 때는 많은 것들을 직접 만들어야 한다. 하지만 익스프레스를 이용하면 이러한 수고를 덜어줄 수 있다. express 모듈을 사용하면 간단한 코드로 웹 서버의 기능을 구현할 수 있다. 특히 express에서 제공하는 미들웨어와 라우터를 사용하면 만들어야 하는 각각의 기능을 훨씬 편리하게 구성할 수 있다. 익스프레스 서버 만들기 글쓴이는 우분투에서 해당 작업을 한다. express 모듈을 사용하기 위해서는 작업할 폴더에서 npm init 명령어를 실행하여 package.json 파일을 생성시켜야 한다. 해당 package.json 파일이 생성되면 express라는 node module를 설치해야 express 모듈을 사용할 수 있다. $ npm init $ npm i.. 더보기
[Nodejs] 서버 실행하기 - 컴도리돌이 노드에 기본으로 들어 있는 http 모듈을 사용하면 웹 서버 기능을 담당하는 서버 객체를 만들 수 있다. http 모듈을 로딩했을 때 반환되는 객체에는 createServer() 메소드가 정의되어 있으며, 이 메소드를 호출하면 서버 객체를 만들 수 있다. 간단한 서버 구현하기 서버 객체의 listen() 메소드를 호출하면 웹 서버가 시작되는데, 서버를 시작할 때는 포트를 3000번으로 지정하여 해당 포트에서 클라이언트의 요청을 대기한다. listen() 메소드를 호출할 때 전달하는 두 번째 파라미터는 콜백 함수로, 웹서버가 시작되면 호출된다. 메소드 설명 listen(port,[hostname],[backlog],[callback]) 서버를 실행하여 대기시킨다. close([callback]) 서버를 종.. 더보기
[Nodejs] 우분투에서 Node.js 환경 만들기 - 컴도리돌이 1. CURL 설치 $ sudo apt-get install curl 2. PPA를 추가 PPA에는 공식 우분투 리포지토리보다 더 많은 버전의 Node.js가 있기 때문에 원하는 버전을 설치하여 실행시키면 됩니다. 해당 A에 원하는 숫자를 기입해서 쓰시면 됩니다. (참고사항 : https://github.com/nodesource/distributions ) $ sudo curl -sL https://deb.nodesource.com/setup_A.x | sudo -E bash - 3. NodeJS 설치 $ sudo apt-get install -y nodejs 4. 설치 확인 $ nodejs -v 더보기
[운영체제/OS] (2) 프로세스 동기화(Process Synchronization)-Bounded-Buffer Problem-Readers and Writers Problem-Dining-Philosophers Problem-Monitors-컴도리돌이 outline Classical Problems of Synchronization Bounded-Buffer Problem Readers and Writers Problem Dining-Philosophers Problem Monitors 전통적 동기화 문제들(Classical Problems of Synchronization) 1. 유한 버퍼 문제(Bounded-Buffer Problem), 소비-생산자 문제(Producer-Consumer Problem) 생산자(Producer)는 데이터를 생성하고, 소비자(Consumer)는 데이터를 소비한다. 생산한 데이터는 중간의 버퍼(buffer)라는 저장 공간에 저장해 두고, 소비자는 버퍼에서 필요한 만큼 가져간다. 버퍼의 크기는 유한하다. 버퍼의 공간이 가.. 더보기
[운영체제/OS] (1) 프로세서 동기화(Process Synchronization)-Critical Section-Peterson`s Algorithm-Lock-TestAndSet-Swap-Semaphores-Block/Wakeup-컴도리돌이 outline Critical Section Requirements for the Solution Alogrithm Synchronization Hardware TestAndSet and Swap Semaphores Critical Section of n Processes Block/ Wakeup Implementation 프로세스 동기화(Process Synchronization) 프로세스는 독립 프로세스(Independent Process)와 협력 프로세스(Cooperating Process)로 나눠진다. 협력 프로세스는 다른 프로세스에 의해 영향을 주고받을 수 있는 프로세스이다. 반대로 다른 프로세스에게 영향을 미치지 않고 독립적인 프로세스를 독립 프로세스라고 한다. 현대 컴퓨터 환경에서는 협력 프.. 더보기
[운영체제/OS] CPU 스케줄러(CPU Scheduler)-FCFS-SJF-SRTF-Priority Scheduling-RR(Round Robin)-Multilevel Queue-Multilevel Feedback Queue-Dispatcher- 컴도리돌이 outline CPU Scheduler Scheduling Criteria Dispatcher Scheduling Algorithms FCFS(First-Come First-Served) SJF(Shortest-Job-First) SRTF(Shortest-Remaining-Time-First) Priority Scheduling RR(Round Robin) Multilevel Queue Multilevel Feedback Queue CPU 스케줄러(CPU Scheduler) CPU가 하나의 프로세스 작업이 끝나면 다음 프로세스 작업을 수행해야 한다. 다음 프로세스가 어느 프로세스인지를 선택하는 알고리즘을 'CPU Scheduling' 알고리즘이라고 한다. CPU 스케줄링은 크게 두 가지의 특징으로 나눌 .. 더보기
[운영체제/OS] 프로세스와 스레드(Process and Thread)-PCB-Context Switch-Schedulers-Process Scheduling Queues-Process State- 컴도리돌이 outline Process Concept Process State Process Control Block-PCB Process Scheduling Queues Schedulers Threads Process creation and terminated Context Switch User and Kernel Threads Issue 프로세스(Process) 프로세스란 실제 메모리에 적재되어 프로세서에 의해 실행되고 있는 프로그램을 의미한다. 즉, 프로그램을 구동하였을 때, 프로그램 자체와 상태가 메모리 상에서 실행되는 작업의 단위를 지칭한다. 실행 중인 프로그램, 프로그램이 실행되는데 필요한 모든 것들을 저장하는 자료구조의 실체. 1) 메모리의 프로세스(Process in Memory) 텍스트(text s.. 더보기

728x90