일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 코딩테스트
- github
- 야놀자
- 부트캠프
- html/css/js
- cpu
- nodejs
- 알고리즘
- 호이스팅
- CSS
- git
- BFS
- KAKAO
- 백준
- 그리디
- 컴퓨터공학
- 컴퓨터과학
- DFS
- 패스트캠퍼스
- 너비우선탐색
- computerscience
- 프론트엔드개발자
- 국비지원취업
- 국비지원
- LinkSnap
- CS
- Javascript
- 자바스크립트
- 코테
- js
- Today
- Total
목록전체 글 (326)
My Boundary As Much As I Experienced
스케줄링 CPU가 하나의 프로세스 작업이 끝나면 다음 프로세스 작업을 수행해야 한다. 이때 다음 프로세스가 어느 프로세스인지를 선택하는 알고리즘을 CPU Scheduling 알고리즘이라고 한다. 비선점 한 프로세스가 CPU를 할당받아 실행중이라면 다른 프로세스들이 CPU를 강제적으로 뺏을 수 없는 스케줄링 방식 FCFS (First Come First Served) : 자료구조 큐의 데이터 처리 큐에 도착한 순서대로 CPU 할당 SJF (Shortest Job First) : 우선순위 큐의 데이터 처리(최소 시간) 수행시간이 가장 짧다고 판단되는 작업을 먼저 수행(FCFS 보다 평균 대기 시간 감소, 짧은 작업에 유리) HRN (Hightest Response-ratio Next) : 우선순위 큐의 데이..
https://www.acmicpc.net/problem/1697 문제 수준: 실버1 문제 요약: 0~100000만큼의 너비가 있는 도로 위에서 수빈이와 동생은 숨바꼭질을 하고있다... 수빈이가 가능한 이동 방식은 1. 앞으로 한 칸 2. 뒤로 한 칸 3. 두 배 점프 이 있다. 이 모든 행동은 1초의 시간을 소요한다. 그렇다면, 동생의 위치까지 수빈이가 최단 시간으로 도달하려면 몇 초가 걸리는가? 입출력 예 (입력 / 출력): 첫 줄에 수빈이의 위치와 동생을 위치가 주어진다. 최단시간으로 동생을 잡는다면 몇 소가 걸리는지 출력하라. 문제 풀이 전략: 계단오르기 문제와 조금 비슷한 유형이다. BFS입문 문제로 유명한듯 하다. 푸 1. queue에 수빈이의 위치를 넣는다. 2. queue에서 위치 하나를 ..
https://www.acmicpc.net/problem/1620 문제 수준: 실버4 문제 요약: 이다솜씨가 포켓몬 암기 시험 보는데 쉽게 풀기 위해 1. 번호가 나오면 해당 번호 포켓몬 이름 대기 2. 이름이 나오면 해당 이름 포켓몬 번호 대기 를 하는 프로그램을 만들어줘라. (문제의 3분의2는 헛소리이고 결국 하라는건 이거였다ㅋㅋ..) 입출력 예 (입력 / 출력): 첫째줄엔 도감 등록 포켓몬 갯수 N와 시험 문제 갯수 M가 나오고 두번째 줄부터 N+1번째 줄까진 도감 등록 포켓몬 이름들이 나오고, 나머지 줄들은 문제가 나온다. 도감에 등록된 순서가 포켓몬의 번호이다. 문제 풀이 전략: 같은 날 푼 요세푸스 문제와 같은 레벨 문제가 맞나? 싶을 정도로 쉽게 풀었다. 1. 포켓몬 번호가 주어지면 배열의 ..
https://www.acmicpc.net/problem/1158 문제 수준: 실버4 문제 요약: 주어진 N명의 사람이 순서대로 둘러앉아 있다. 이 중 K번 째 사람을 순서대로 뺄 때, 뺀 순서를 구하시오. 7명의 사람이 있고 3을 카운트하며 한 명 씩 뺀다고 할 때, 순서로 빠지게 된다. 입출력 예 (입력 / 출력): 입력 첫 째 줄에는 N명과 기준 K가 주어진다. 문제 풀이 전략: queue 문제를 많이 안 풀어봐서 이게 queue문제인지 아닌지 많이 헤맸다. 처음 도전하다가 실패한 로직은 아래와 같다. 처음엔 while문 순회로 계속 방문하며 1. 방문한 노드는 넘어가고 2. 방문 안 했으면서 + 주어진 순서가 아니면 순서만 ++하고 넘어가고 3. 방문 안 했으면서 + 주어진 순서면 정답 배열에 넣..
https://www.acmicpc.net/problem/27971 문제 수준: 실버1 문제 요약: 마법소녀 마도카의 고양이 생성(백준, 27961)에 감명받은 호무라는 자기는 강아지를 생성하기로 했다. 호무라는 N마리의 강아지를 정확히 가지고 싶다. (초과하면 안 된다.) 이를 위해 호무라가 쓸 수 있는 마법은 2가지이다. 강아지를 A마리 생성한다. 강아지를 B마리 생성한다. 그러나 강아지 마리 수가 특정 마리수 영역에 도달하면 초기화되는 버그(...)가 있다. (쉽게 버그영역이라 하겠다.) A마리 혹은 B마리를 생성하지만 '버그 영역에 포함되는 마리 수'를 피해서 만들어야 한다. 호무라가 원하는 N마리의 강아지를 정확히 만드려면 어떻게 해야되는가? 입출력 예 (입력 / 출력): 첫 번째 줄은 이렇게 ..
https://www.acmicpc.net/problem/27961 27961번: 고양이는 많을수록 좋다올바른 행동 순서가 될 수 있는 하나의 예시는 아래와 같으며, $4$번보다 더 작은 행동 횟수로 $6$마리의 고양이를 마도카의 집에 들이는 것은 불가능하다. 초기 상태($0$마리) $\rightarrow$ 생성www.acmicpc.net 문제 수준:브론즈1 문제 요약:마도카의 목표는 고양이 N마리를 생성하는 것이다.마도카가 쓸 수 있는 마법은고양이 1마리 늘린다.현재 있는 고양이 수의 일부 또는 전체를 복사한다. (현재 있는 고양이가 M 마리일 때 1~M 마리 복사)목표 N마리가 주어졌을 때 최소 몇 번의 생성마법으로 만들 수 있는가? 입출력 예 (입력 / 출력): 문제 풀이 전략:1. 처음 0마리..
JavaScript 엔진은 코드를 실행하기전 실행 컨텍스트(Execution Context)라는것이 생성됩니다. 실행 컨텍스트는 생성 단계(Creation Phase)와 실행 단계(Execution Phase)라는 2개의 단계를 거치는데 생성 단계는 코드를 읽기 전, 실행 단계는 실제 코드를 읽는 단계를 말합니다. var의 경우 생성단계에서 변수 선언&초기화가 함께 진행되므로, 변수 객체 등록과 동시에 메모리 공간도 할당 받는다. 그렇기 때문에 메모리를 할당받은 상태이므로 호이스팅시 메모리 참조를 통해 변수 접근이 가능하다. let과 const의 경우 생성 단계에서 변수 선언은 하지만 초기화를 하지 않고 TDZ(Temporary Danger Zone)에 보관한다. 그래서 제대로 할당이 일어나지 않은 상황..
이벤트위임이란? 버블링 캡처링을 통한 이벤트 전파를 통해 상위 요소에서 이벤트 핸들링을 하는 것을 말한다. event.target을 통해 어떤 위치에서 이벤트가 일어났는지 특정할 수 있다. 예시 1 Bagua Chart: Direction, Element, Color, Meaning Northwest Metal Silver Elders ... ... ...2 more lines of this kind... ...2 more lines of this kind... table이 있고 tr, td들이 들어있는 테이블 구조가 있다고 하자. 여기서 원하는 cell(td)을 클릭하면 색상이 바뀌도록 바꾸고 싶다고 하자. 이때 td들에 일일이 다 이벤트 리스너를 부여하는 방식은 매우 코드가 많아지고 반복적인 요소가 ..
IPC(Inter Process Communication) 프로세스 간 통신(Inter-Process Communication, IPC)이란 프로세스들 사이에 서로 데이터를 주고받는 행위 또는 그에 대한 방법이나 경로를 뜻한다. 프로세스는 독립적으로 실행된다. 즉, 독립 되어있다는 것은 다른 프로세스에게 영향을 받지 않는다고 말할 수 있다. (스레드는 프로세스 안에서 자원을 공유하므로 영향을 받는다) 이런 독립적 구조를 가진 프로세스 간의 통신을 해야 하는 상황이 있을 것이다. 이를 가능하도록 해주는 것이 바로 IPC 통신이다. 프로세스는 커널이 제공하는 IPC 설비를 이용해 프로세스간 통신을 할 수 있게 된다. 커널이란? 커널은 운영체제 중 항상 메모리에 올라가 있는 운영체제의 핵심 부분으로써 하드웨어..
Process Management CPU가 프로세스가 여러개일 때, CPU 스케줄링을 통해 관리하는 것을 말함 PCB(Process Control Block) 프로세스들의 메타데이터를 저장하는 곳. PCB(Process Control Block)는 특정 프로세스에 대한 정보를 담고 있는 자료구조입니다. 운영체제는 PCB에 담긴 프로세스 정보를 이용하여 프로세스를 관리/제어합니다. 프로그램이 실행되어 메모리에 적재됐을 때 프로세스가 생겨나고, 프로세스 주소 공간에 코드&데이터&스택 공간이 생성됩니다. 이후 해당 프로세스의 메타데이터들이 PCB 에 저장된다. (Linked List 방식으로 관리함) 프로그램 실행 → 프로세스 생성 → 프로세스 주소 공간에 (코드, 데이터, 스택) 생성 → 이 프로세스의 메타..