컴퓨터기본 141

[백준] 10773번, 1260번

10773번. 제로 https://www.acmicpc.net/problem/10773 10773번: 제로 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경 www.acmicpc.net 간단한 스택 문제이다. 그냥 스택 구조만 이해하면 바로 풀 수 있는 문제. //num 10773 #include #include using namespace std; int main(void){ int k, n; stack s; int answer = 0; cin >> k; //cin.ignore(); for(int i = 0; i> n; //..

[백준] 2231번, 7568번

2231번 https://www.acmicpc.net/problem/2231 2231번: 분해합 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 www.acmicpc.net brute-force 방식으로 푸는 문제이다 나는 getparts()라는 함수를 별도로 정의해서 했는데, 사실 별도로 정의할 필요없이 바로 메인 함수에 때려넣어도 충분하다. 나는 구조화할 때, 어떤 기능을 할 함수를 가정해서 메인함수를 일단 짜버리는게 생각하기 편해서 그랬다. 1. 핵심은 목표한 m이라는 숫자를 생성할 수 있는 숫자를 찾기 위해서 1부터 m까..

[OS] 4. 운영체제 구조(2)

* 다음 강의 필기임 https://www.youtube.com/watch?v=VZ1etbiExPo&list=PLl7a4hCkdyMCPNT-3U3fzyb6FEBCS0Ddm&index=4 Layer - 모듈러리티랑 다른 점: 각 레이어들끼리의 연결이 이미 정해져 있음. order이 없음. - 레이어의 semantics(의미, 함의): 레이어들을 건너뛸 수 없다는 것. 반드시 거쳐야 하게 된다는 것. 그리고 위 아래로만 연결 가능하다는 점. order이 있다는 점. MSDOS 초창기 PC. 레이어링이 매우 불안정했다 -> App을 다루는 사람들이 잘못 접근해서 시스템(커널)을 망가뜨리거나 하는 경우가 자주 발생. -> 요즘의 커널은 modular하게 잘 되어있음. 여러 모듈들이 있고, 커널 단이랑 디바이스 ..

[OS] 3. 운영체제 구조

* 아래의 강의 내용을 정리한 것임. https://www.youtube.com/watch?v=ATAQnyOSuH0&list=PLl7a4hCkdyMCPNT-3U3fzyb6FEBCS0Ddm&index=4 Multiprogramming 멀티 프로그래밍을 통해서 CPU를 100% 사용하게 된다고 하더라도 여전히 사용자가 개입할 수 없다는 단점이 남아있음. 하나의 job만 돌아가면 공평성 측면에서 좋지 않음. 이 문제는 job scheduling을 잘한다고 해결되지 않는다. * job scheduling: 여러 프로세스 중에 어떤 것을 선택해서 실행할 것이냐를 정함. 그래서 생긴 게 time sharing Time sharing 어떤 job이 CPU를 사용하고 있음, 그럼 한 job이 CPU를 사용할 수 있는 ..

[OS] 2. OS란? ~ 컴퓨터 역사

* 고려대학교 2019-1 수업을 정리한 내용! https://www.youtube.com/watch?v=QBeeYeeLtcw&list=PLl7a4hCkdyMCPNT-3U3fzyb6FEBCS0Ddm&index=2 소프트웨어의 구분 시스템 소프트웨어 (APP sw를 구동할 수 있도록하는 ex)DB, OS) 응용 소프트웨어 (OS위에서 존재, ex) AI 음성 인식 등은 모두 응용 소프트웨어) 운영체제와 응용 소프트웨어의 차이 1. 운영체제는 항상 동작하고 있다. 없으면 컴퓨터를 사용할 수 없다. 2. 운영체제는 supervisor 모드로 동작한다. 응용 프로그램과 구분해야하기 때문이다. 운영체제는 하드웨어 자원에 접근하고, 이를 제어한다. 운영체제 역할을 AI가 하겠다? 말이 안됨. supervisor모드..

[OS] 1. 개요

ABSTRACTION 운영체제: abstraction -> policy making ex) cpu 사용을 위한 abstraction = process memory => address space? => file (OS에서 제공하는 abstraction) OS 에서 보는 파일: 파일을 어떻게 저장하고, 어떻게 사용해야하지? 네트워크: 포트라는 abstraction Policy 정책의 필요성: (하드웨어의) 자원 예를 들어 cpu 를 여러 프로세스가 사용함. -> 분배 위해 운영체제마다 디자인 디시젼이 다름. 이 운영체제의 용도에 맞춰서 디자인 하는 것 (ex) 항공기, 슈퍼컴퓨터, 원자로 등) 운영체제에 the answer은 없다. 용도에 따라 적합한 솔루션이 있을 뿐이다. Program의 Abstracti..

비주얼 스튜디오(Visual Studio) 단축키

1. 줄 전체 자르기 Ctrl + X 2. 자동정렬 Ctrl + k + f 3. 현재 라인 바로 아래에 복붙 Ctrl + d 4. 열로 편집 Alt + 드래그 / Alt + Shift + up/down키 5. 줄 움직이기 Alt + up/down키 -> 커서가 있는 줄이 위아래로 움직임 6. 주석처리 주석처리할 부분 지정 후 Ctrl + k + c 주석처리를 해제 할 경우 Ctrl + k + u 7. 대소문자 변환 Ctrl + u : 대문자로 변경 Ctrl + Shift + u : 소문자로 변경 8. 현재 행 맨 앞으로: Home 현재 행 맨 뒤로: End 9. 현재 라인 전체 선택: Shift + Home (맨 앞에 커서가 있을 때) / Shift + End(커서 맨 뒤에) 10. 단어씩 움직이기: C..

Atom editor설치 in Ubuntu Linux

wget으로 깃헙에서 다운 받으려고 했는데, 잘 안됐다... 결국 https://atom.io 에 들어가서 deb 파일을 다운받았다. (firefox로 접속바면 바로 deb파일 다운 가능한 창이 뜬다) 파일을 다운로드하면 기본적으로 Downloads 디렉터리에 저장되니까 여기서 설치를 해주면 된다. sudo dpkg -i atom-amd64.deb https://m.blog.naver.com/PostView.nhn?blogId=yand2english&logNo=221178681521&proxyReferer=https:%2F%2Fwww.google.com%2F dpkg가 잘 안됐는데, 터미널에 뜬 경고를 보니 git이 설치가 안되어 있다고 떴다. 그래서 git을 설치한다. https://coding-fac..

Node.js 리눅스에 설치

터미널을 켜서 다음 명령어들 입력 sudo apt-get install -y curl sudo apt udate sudo apt isntall nodejs 비밀번호 물어보거나, yes/no? 물어보면 예스 해주고 nodejs -v 해보면 버전이 뜨면서 잘 설치된걸 확인할 수 있다. sudo apt install npm 해서 npm 설치 vi로 js 파일을 만들어서 저장하고 (참고: vi [파일명] 작성 후 :wq로 저장 & quit하고 node 파일명 ) 하니까 안됨. sudo apt install nodejs-legacy 하고 다시 실행하니까 된다.

가상머신에 우분투 리눅스 설치하기

Downloads – Oracle VM VirtualBox https://www.virtualbox.org/wiki/Downloads 여기서 VirtualBox 6.1.22 platform packages 중 Windows hosts 클릭하면 exe 파일 다운로드 된다. 그러면 클릭해서 실행 -> 모두 OK 누르고 설치 버추얼박스를 실행하면 이러한 화면이 나온다. 왼쪽 mylinux는 내가 이미 만들어 둔 가상머신이고, 새로만들기를 통해 가상머신을 만들 수 있다. 이름은 아무거나 하고, 종류는 Linux, 버전은 Ubuntu로 선택해준다. 메모리 크기는 본인이 감당할 수 있을 정도로 한다. 나는 4기가로 해주었다. 가상머신에서 이용할 가상 하드를 만들어준다. 뭔지 난 잘 모르니 일단 다 기본으로! 크기는..