瀏覽代碼

Merge pull request #1022 from joonas-yoon/master

Update translation of korean
John Washam 3 年之前
父節點
當前提交
ef9b847a72
共有 2 個文件被更改,包括 79 次插入86 次删除
  1. 1 1
      README.md
  2. 78 85
      translations/README-ko.md

+ 1 - 1
README.md

@@ -833,7 +833,7 @@ if you can identify the runtime complexity of different algorithms. It's a super
         - [ ] is_empty() - returns true if heap contains no elements
         - [ ] is_empty() - returns true if heap contains no elements
         - [ ] extract_max - returns the max item, removing it
         - [ ] extract_max - returns the max item, removing it
         - [ ] sift_down - needed for extract_max
         - [ ] sift_down - needed for extract_max
-        - [ ] remove(i) - removes item at index x
+        - [ ] remove(x) - removes item at index x
         - [ ] heapify - create a heap from an array of elements, needed for heap_sort
         - [ ] heapify - create a heap from an array of elements, needed for heap_sort
         - [ ] heap_sort() - take an unsorted array and turn it into a sorted array in-place using a max heap or min heap
         - [ ] heap_sort() - take an unsorted array and turn it into a sorted array in-place using a max heap or min heap
 
 

+ 78 - 85
translations/README-ko.md

@@ -127,7 +127,7 @@
 - [이건 대체 뭐하는 건가요?](#이건-대체-뭐하는-건가요)
 - [이건 대체 뭐하는 건가요?](#이건-대체-뭐하는-건가요)
 - [이걸 왜 해야하죠?](#이걸-왜-해야하죠)
 - [이걸 왜 해야하죠?](#이걸-왜-해야하죠)
 - [어떻게 하면 되나요?](#어떻게-하면-되나요)
 - [어떻게 하면 되나요?](#어떻게-하면-되나요)
-- [머리가 나쁘다고 자책하지 마세요](#-머리가-나쁘다고-자책하지-마세요)
+- [머리가 나쁘다고 자책하지 마세요](#머리가-나쁘다고-자책하지-마세요)
 - [영상 자료에 관하여](#영상-자료에-관하여)
 - [영상 자료에 관하여](#영상-자료에-관하여)
 - [프로그래밍 언어 선택하기](#프로그래밍-언어-선택하기)
 - [프로그래밍 언어 선택하기](#프로그래밍-언어-선택하기)
 - [자료구조와 알고리즘에 대한 도서](#자료구조와-알고리즘에-대한-도서)
 - [자료구조와 알고리즘에 대한 도서](#자료구조와-알고리즘에-대한-도서)
@@ -148,12 +148,12 @@
   - [큐](#큐)
   - [큐](#큐)
   - [해시 테이블](#해시-테이블)
   - [해시 테이블](#해시-테이블)
 - [추가 지식](#추가-지식)
 - [추가 지식](#추가-지식)
-  - [이진 탐색/이진 검색](#binary-search)
-  - [비트 연산](#bitwise-operations)
+  - [이진 탐색/이진 검색](#이진-탐색)
+  - [비트 연산](#비트-연산)
 - [트리](#트리)
 - [트리](#트리)
-  - [트리 - 배경지식](#trees---notes--background)
-  - [이진 탐색 트리(BST)](#binary-search-trees-bsts)
-  - [힙 / 우선순위 큐 / 이진 힙](#heap--priority-queue--binary-heap)
+  - [트리 - 배경 지식](#트리---배경-지식)
+  - [이진 탐색 트리 (BST)](#이진-탐색-트리-BST)
+  - [힙 / 우선순위 큐 / 이진 힙](#힙--우선순위-큐--이진-힙)
   - 균형 탐색 트리 (간단한 개념)
   - 균형 탐색 트리 (간단한 개념)
   - 트리 순회: 전위 순회, 중위 순회, 후위 순회, 너비 우선 탐색(BFS), 깊이 우선 탐색(DFS)
   - 트리 순회: 전위 순회, 중위 순회, 후위 순회, 너비 우선 탐색(BFS), 깊이 우선 탐색(DFS)
 - [정렬](#정렬)
 - [정렬](#정렬)
@@ -168,27 +168,25 @@
   - 인접 행렬
   - 인접 행렬
   - 인접 리스트
   - 인접 리스트
   - 그래프 순회: 너비 우선 탐색(BFS), 깊이 우선 탐색(DFS)
   - 그래프 순회: 너비 우선 탐색(BFS), 깊이 우선 탐색(DFS)
-- [더 많은 지식](#even-more-knowledge)
-  - [재귀](#recursion)
-  - [동적 프로그래밍](#dynamic-programming)
-  - [객체 지향 프로그래밍](#object-oriented-programming)
-  - [디자인 패턴](#design-patterns)
-  - [조합 & 확률](#combinatorics-n-choose-k--probability)
-  - [NP와 NP-완전, 그리고 근사 알고리즘](#np-np-complete-and-approximation-algorithms)
-  - [캐시](#caches)
-  - [프로세스와 쓰레드](#processes-and-threads)
+- [더 많은 지식](#더-많은-지식)
+  - [재귀 (recursion)](#재귀-recursion)
+  - [동적 프로그래밍 (Dynamic Programming)](#동적-프로그래밍-Dynamic-Programming)
+  - [디자인-패턴](#디자인-패턴)
+  - [조합과 확률](#조합과-확률)
+  - [NP, NP-완전, 근사 알고리즘](#NP-NP-완전-근사-알고리즘)
+  - [컴퓨터가 프로그램을 처리하는 방식](#컴퓨터가-프로그램을-처리하는-방식)
+  - [캐시](#캐시)
+  - [프로세스와 쓰레드](#프로세스와-쓰레드)
   - [테스트](#테스트)
   - [테스트](#테스트)
-  - [스케줄링](#scheduling)
-  - [시스템 루틴의 구현](#implement-system-routines)
-  - [문자열 검색 & 조작](#string-searching--manipulations)
-  - [트라이](#tries)
-  - [부동 소수점](#floating-point-numbers)
-  - [유니코드](#unicode)
+  - [문자열 검색 & 조작](#문자열-검색--조작)
+  - [트라이](#트라이)
+  - [부동 소수점](#부동-소수점)
+  - [유니코드](#유니코드)
   - [엔디언(Endianness)](#endianness)
   - [엔디언(Endianness)](#endianness)
-  - [네트워크](#networking)
+  - [네트워크](#네트워크)
 - [최종 검토](#최종-검토)
 - [최종 검토](#최종-검토)
 
 
-### 직업하기
+###  & 취업하기
 
 
 - [면접이 얼마 남지 않았을 때](#면접이-얼마-남지-않았을-때)
 - [면접이 얼마 남지 않았을 때](#면접이-얼마-남지-않았을-때)
 - [이력서](#이력서)
 - [이력서](#이력서)
@@ -635,34 +633,31 @@ Anki 형식의 내 요약집 데이터베이스: https://ankiweb.net/shared/info
         이 페이지는 포인터가 포인터를 가리키는 것을 파악하는 정도입니다. 저는 아래 목록을 순서대로 읽지 않기를 권장합니다. 가독성과 유지 보수성이 더 좋기 때문입니다.
         이 페이지는 포인터가 포인터를 가리키는 것을 파악하는 정도입니다. 저는 아래 목록을 순서대로 읽지 않기를 권장합니다. 가독성과 유지 보수성이 더 좋기 때문입니다.
     - [Pointers to Pointers](https://www.eskimo.com/~scs/cclass/int/sx8.html)
     - [Pointers to Pointers](https://www.eskimo.com/~scs/cclass/int/sx8.html)
   - [ ] 구현 (저는 tail 포인터가 있는 것과 없는 것 모두 구현했었습니다.):
   - [ ] 구현 (저는 tail 포인터가 있는 것과 없는 것 모두 구현했었습니다.):
-    - [ ] size() - returns number of data elements in list
-    - [ ] empty() - bool returns true if empty
-    - [ ] value_at(index) - returns the value of the nth item (starting at 0 for first)
-    - [ ] push_front(value) - adds an item to the front of the list
-    - [ ] pop_front() - remove front item and return its value
-    - [ ] push_back(value) - adds an item at the end
-    - [ ] pop_back() - removes end item and returns its value
-    - [ ] front() - get value of front item
-    - [ ] back() - get value of end item
-    - [ ] insert(index, value) - insert value at index, so current item at that index is pointed to by new item at index
-    - [ ] erase(index) - removes node at given index
-    - [ ] value_n_from_end(n) - returns the value of the node at nth position from the end of the list
-    - [ ] reverse() - reverses the list
-    - [ ] remove_value(value) - removes the first item in the list with this value
+    - [ ] size() - 리스트 안의 데이터 개수를 반환한다.
+    - [ ] empty() - 리스트가 비어있다면 true를 반환한다.
+    - [ ] value_at(index) - index번째 위치의 value을 반환한다. (가장 앞은 0부터 시작한다.)
+    - [ ] push_front(value) - 가장 앞에 value를 추가한다.
+    - [ ] pop_front() - 가장 앞에 있는 것을 제거하고, 그 value를 반환한다.
+    - [ ] push_back(value) - 가장 끝에 value을 추가한다.
+    - [ ] pop_back() - 가장 끝에 있는 것을 제거하고, 그 value를 반환한다.
+    - [ ] front() - 가장 앞에 있는 것의 value를 가져온다.
+    - [ ] back() - 가장 끝에 있는 것의 value를 가져온다.
+    - [ ] insert(index, value) - index번째 위치에 value를 추가한다. 즉, index번째에 새로 추가된 것이 기존의 index번째에 있던 것을 가리킨다.
+    - [ ] erase(index) - index번째에 있는 노드를 삭제한다.
+    - [ ] value_n_from_end(n) - 뒤에서부터 n번째에 있는 노드의 value를 반환한다.
+    - [ ] reverse() - 리스트를 뒤집는다.
+    - [ ] remove_value(value) - value와 같은 값을 가지는 첫 번째 노드를 제거한다.
   - [ ] 이중 연결 리스트
   - [ ] 이중 연결 리스트
     - [설명 (영상)](https://www.coursera.org/learn/data-structures/lecture/jpGKD/doubly-linked-lists)
     - [설명 (영상)](https://www.coursera.org/learn/data-structures/lecture/jpGKD/doubly-linked-lists)
     - 구현할 필요는 없습니다.
     - 구현할 필요는 없습니다.
 
 
 - ### 스택
 - ### 스택
   - [ ] [Stacks (video)](https://www.coursera.org/learn/data-structures/lecture/UdKzQ/stacks)
   - [ ] [Stacks (video)](https://www.coursera.org/learn/data-structures/lecture/UdKzQ/stacks)
-  - [ ] [Using Stacks Last-In First-Out (video)](https://archive.org/details/0102WhatYouShouldKnow/05_01-usingStacksForLast-inFirst-out.mp4)
   - [ ] Will not implement. Implementing with array is trivial.
   - [ ] Will not implement. Implementing with array is trivial.
 
 
 - ### 큐
 - ### 큐
-  - [ ] [Using Queues First-In First-Out(video)](https://archive.org/details/0102WhatYouShouldKnow/05_03-usingQueuesForFirst-inFirst-out.mp4)
   - [ ] [Queue (video)](https://www.coursera.org/lecture/data-structures/queues-EShpq)
   - [ ] [Queue (video)](https://www.coursera.org/lecture/data-structures/queues-EShpq)
-  - [ ] [Circular buffer/FIFO](https://en.wikipedia.org/wiki/Circular_buffer)
-  - [ ] [Priority Queues (video)](https://archive.org/details/0102WhatYouShouldKnow/05_04-priorityQueuesAndDeques.mp4)
+  - [ ] [Circular buffer/FIFO](https://en.wikipedia.org/wiki/Circular_buffer)05_04-priorityQueuesAndDeques.mp4)
   - [ ] tail 포인터가 있는 연결 리스트를 사용하여 구현하기:
   - [ ] tail 포인터가 있는 연결 리스트를 사용하여 구현하기:
     - enqueue(value) - tail이 가리키는 곳에 value를 추가한다
     - enqueue(value) - tail이 가리키는 곳에 value를 추가한다
     - dequeue() - value를 반환하고 가장 최근에 추가된 원소(front)를 제거한다.
     - dequeue() - value를 반환하고 가장 최근에 추가된 원소(front)를 제거한다.
@@ -709,7 +704,7 @@ Anki 형식의 내 요약집 데이터베이스: https://ankiweb.net/shared/info
 
 
 ## 추가 지식
 ## 추가 지식
 
 
-- ### Binary search
+- ### 이진 탐색
   - [ ] [Binary Search (video)](https://www.youtube.com/watch?v=D5SrAga1pno)
   - [ ] [Binary Search (video)](https://www.youtube.com/watch?v=D5SrAga1pno)
   - [ ] [Binary Search (video)](https://www.khanacademy.org/computing/computer-science/algorithms/binary-search/a/binary-search)
   - [ ] [Binary Search (video)](https://www.khanacademy.org/computing/computer-science/algorithms/binary-search/a/binary-search)
   - [ ] [자세한 내용](https://www.topcoder.com/community/competitive-programming/tutorials/binary-search/)
   - [ ] [자세한 내용](https://www.topcoder.com/community/competitive-programming/tutorials/binary-search/)
@@ -717,7 +712,7 @@ Anki 형식의 내 요약집 데이터베이스: https://ankiweb.net/shared/info
     - (정수가 정렬된 배열에서) 이진 탐색
     - (정수가 정렬된 배열에서) 이진 탐색
     - 재귀를 사용한 이진 탐색
     - 재귀를 사용한 이진 탐색
 
 
-- ### Bitwise operations
+- ### 비트 연산
   - [ ] [Bits cheat sheet](https://github.com/jwasham/coding-interview-university/blob/main/extras/cheat%20sheets/bits-cheat-sheet.pdf) - you should know many of the powers of 2 from (2^1 to 2^16 and 2^32)
   - [ ] [Bits cheat sheet](https://github.com/jwasham/coding-interview-university/blob/main/extras/cheat%20sheets/bits-cheat-sheet.pdf) - you should know many of the powers of 2 from (2^1 to 2^16 and 2^32)
   - [ ] 비트 연산자(&, |, ^, ~, >>, <<) 제대로 이해하기
   - [ ] 비트 연산자(&, |, ^, ~, >>, <<) 제대로 이해하기
     - [ ] [워드](https://en.wikipedia.org/wiki/Word_(computer_architecture))
     - [ ] [워드](https://en.wikipedia.org/wiki/Word_(computer_architecture))
@@ -745,7 +740,7 @@ Anki 형식의 내 요약집 데이터베이스: https://ankiweb.net/shared/info
 
 
 ## 트리
 ## 트리
 
 
-- ### Trees - Notes & Background
+- ### 트리 - 배경 지식
   - [ ] [Series: Trees (video)](https://www.coursera.org/learn/data-structures/lecture/95qda/trees)
   - [ ] [Series: Trees (video)](https://www.coursera.org/learn/data-structures/lecture/95qda/trees)
   - 트리 기초 형태 만들기
   - 트리 기초 형태 만들기
   - 순회
   - 순회
@@ -766,10 +761,8 @@ Anki 형식의 내 요약집 데이터베이스: https://ankiweb.net/shared/info
       - 후위(postorder) (DFS: 왼쪽, 오른쪽, 자신)
       - 후위(postorder) (DFS: 왼쪽, 오른쪽, 자신)
       - 전위(preorder) (DFS: 자신, 왼쪽, 오른쪽)
       - 전위(preorder) (DFS: 자신, 왼쪽, 오른쪽)
 
 
-- ### Binary search trees: BSTs
+- ### 이진 탐색 트리 (BST)
   - [ ] [Binary Search Tree Review (video)](https://www.youtube.com/watch?v=x6At0nzX92o&index=1&list=PLA5Lqm4uh9Bbq-E0ZnqTIa8LRaL77ica6)
   - [ ] [Binary Search Tree Review (video)](https://www.youtube.com/watch?v=x6At0nzX92o&index=1&list=PLA5Lqm4uh9Bbq-E0ZnqTIa8LRaL77ica6)
-  - [ ] [Series (video)](https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/p82sw/core-introduction-to-binary-search-trees)
-    - starts with symbol table and goes through BST applications
   - [ ] [Introduction (video)](https://www.coursera.org/learn/data-structures/lecture/E7cXP/introduction)
   - [ ] [Introduction (video)](https://www.coursera.org/learn/data-structures/lecture/E7cXP/introduction)
   - [ ] [MIT (video)](https://www.youtube.com/watch?v=9Jry5-82I68)
   - [ ] [MIT (video)](https://www.youtube.com/watch?v=9Jry5-82I68)
   - C/C++:
   - C/C++:
@@ -796,7 +789,7 @@ Anki 형식의 내 요약집 데이터베이스: https://ankiweb.net/shared/info
     - [ ] delete_value
     - [ ] delete_value
     - [ ] get_successor // 값이 주어지면, 다음으로 가장 큰 값을, 없으면 -1을 반환
     - [ ] get_successor // 값이 주어지면, 다음으로 가장 큰 값을, 없으면 -1을 반환
 
 
-- ### Heap / Priority Queue / Binary Heap
+- ### 힙 / 우선순위 큐 / 이진 힙
   - 트리처럼 보여지지만, 보통은 선형으로 저장됩니다. (배열, 링크드리스트처럼)
   - 트리처럼 보여지지만, 보통은 선형으로 저장됩니다. (배열, 링크드리스트처럼)
   - [ ] [힙(Heap)](https://en.wikipedia.org/wiki/Heap_(data_structure))
   - [ ] [힙(Heap)](https://en.wikipedia.org/wiki/Heap_(data_structure))
   - [ ] [소개 (영상)](https://www.coursera.org/learn/data-structures/lecture/2OpTs/introduction)
   - [ ] [소개 (영상)](https://www.coursera.org/learn/data-structures/lecture/2OpTs/introduction)
@@ -962,9 +955,9 @@ Anki 형식의 내 요약집 데이터베이스: https://ankiweb.net/shared/info
 
 
 Skiena의 책(아래의 책 섹션 참조)과 인터뷰 책에서 더 많은 그래프 실습을 할 수 있습니다.
 Skiena의 책(아래의 책 섹션 참조)과 인터뷰 책에서 더 많은 그래프 실습을 할 수 있습니다.
 
 
-## Even More Knowledge
+## 더 많은 지식
 
 
-- ### Recursion
+- ### 재귀 (recursion)
   - [ ] 재귀와 백트래킹에 대한 스탠포드 대학 강의:
   - [ ] 재귀와 백트래킹에 대한 스탠포드 대학 강의:
     - [ ] [Lecture 8 | Programming Abstractions (video)](https://www.youtube.com/watch?v=gl3emqCuueQ&list=PLFE6E58F856038C69&index=8)
     - [ ] [Lecture 8 | Programming Abstractions (video)](https://www.youtube.com/watch?v=gl3emqCuueQ&list=PLFE6E58F856038C69&index=8)
     - [ ] [Lecture 9 | Programming Abstractions (video)](https://www.youtube.com/watch?v=uFJhEPrbycQ&list=PLFE6E58F856038C69&index=9)
     - [ ] [Lecture 9 | Programming Abstractions (video)](https://www.youtube.com/watch?v=uFJhEPrbycQ&list=PLFE6E58F856038C69&index=9)
@@ -975,7 +968,7 @@ Skiena의 책(아래의 책 섹션 참조)과 인터뷰 책에서 더 많은 그
     - [ ] [꼬리 재귀가 무엇이고 왜 그게 좋지 않은지에 대하여](https://www.quora.com/What-is-tail-recursion-Why-is-it-so-bad)
     - [ ] [꼬리 재귀가 무엇이고 왜 그게 좋지 않은지에 대하여](https://www.quora.com/What-is-tail-recursion-Why-is-it-so-bad)
     - [ ] [꼬리 재귀 (영상)](https://www.coursera.org/lecture/programming-languages/tail-recursion-YZic1)
     - [ ] [꼬리 재귀 (영상)](https://www.coursera.org/lecture/programming-languages/tail-recursion-YZic1)
 
 
-- ### Dynamic Programming
+- ### 동적 프로그래밍 (Dynamic Programming)
   - 인터뷰에서 DP 문제를 접하지 않을 수도 있습니다. 하지만 알고 있는게 미뤄두는 것 보다 낫습니다.
   - 인터뷰에서 DP 문제를 접하지 않을 수도 있습니다. 하지만 알고 있는게 미뤄두는 것 보다 낫습니다.
   - 이 주제는 아주 어렵습니다. DP로 풀리는 각 문제마다 어떤 점화식을 정의해야 하는데 그게 까다롭습니다.
   - 이 주제는 아주 어렵습니다. DP로 풀리는 각 문제마다 어떤 점화식을 정의해야 하는데 그게 까다롭습니다.
   - 얽혀있는 패턴들을 확실히 이해할 때까지, 많은 DP 예시 문제들을 찾아보기를 권합니다.
   - 얽혀있는 패턴들을 확실히 이해할 때까지, 많은 DP 예시 문제들을 찾아보기를 권합니다.
@@ -1001,14 +994,9 @@ Skiena의 책(아래의 책 섹션 참조)과 인터뷰 책에서 더 많은 그
     - [ ] [Global pairwise sequence alignment (video)](https://www.coursera.org/learn/algorithmic-thinking-2/lecture/UZ7o6/global-pairwise-sequence-alignment)
     - [ ] [Global pairwise sequence alignment (video)](https://www.coursera.org/learn/algorithmic-thinking-2/lecture/UZ7o6/global-pairwise-sequence-alignment)
     - [ ] [Local pairwise sequence alignment (video)](https://www.coursera.org/learn/algorithmic-thinking-2/lecture/WnNau/local-pairwise-sequence-alignment)
     - [ ] [Local pairwise sequence alignment (video)](https://www.coursera.org/learn/algorithmic-thinking-2/lecture/WnNau/local-pairwise-sequence-alignment)
 
 
-- ### Object-Oriented Programming
-  - [ ] [Optional: UML 2.0 Series (video)](https://www.youtube.com/watch?v=OkC7HKtiZC0&list=PLGLfVvz_LVvQ5G-LdJ8RLqe-ndo7QITYc)
-  - [ ] SOLID OOP Principles:
-    - [ ] [SOLID Principles (video)](https://www.youtube.com/playlist?list=PL4CE9F710017EA77A)
-
-- ### Design patterns
+- ### 디자인 패턴
   - [ ] [Quick UML review (video)](https://www.youtube.com/watch?v=3cmzqZzwNDM&list=PLGLfVvz_LVvQ5G-LdJ8RLqe-ndo7QITYc&index=3)
   - [ ] [Quick UML review (video)](https://www.youtube.com/watch?v=3cmzqZzwNDM&list=PLGLfVvz_LVvQ5G-LdJ8RLqe-ndo7QITYc&index=3)
-  - [ ] Learn these patterns:
+  - [ ] 아래 패턴들을 배워봅시다:
     - [ ] strategy
     - [ ] strategy
     - [ ] singleton
     - [ ] singleton
     - [ ] adapter
     - [ ] adapter
@@ -1035,7 +1023,7 @@ Skiena의 책(아래의 책 섹션 참조)과 인터뷰 책에서 더 많은 그
   - [ ] [Handy reference: 101 Design Patterns & Tips for Developers](https://sourcemaking.com/design-patterns-and-tips)
   - [ ] [Handy reference: 101 Design Patterns & Tips for Developers](https://sourcemaking.com/design-patterns-and-tips)
   - [ ] [Design patterns for humans](https://github.com/kamranahmedse/design-patterns-for-humans#structural-design-patterns)
   - [ ] [Design patterns for humans](https://github.com/kamranahmedse/design-patterns-for-humans#structural-design-patterns)
 
 
-- ### Combinatorics (n choose k) & Probability
+- ### 조합과 확률
   - [ ] [Math Skills: How to find Factorial, Permutation and Combination (Choose) (video)](https://www.youtube.com/watch?v=8RRo6Ti9d0U)
   - [ ] [Math Skills: How to find Factorial, Permutation and Combination (Choose) (video)](https://www.youtube.com/watch?v=8RRo6Ti9d0U)
   - [ ] [Make School: Probability (video)](https://www.youtube.com/watch?v=sZkAAk9Wwa4)
   - [ ] [Make School: Probability (video)](https://www.youtube.com/watch?v=sZkAAk9Wwa4)
   - [ ] [Make School: More Probability and Markov Chains (video)](https://www.youtube.com/watch?v=dNaJg-mLobQ)
   - [ ] [Make School: More Probability and Markov Chains (video)](https://www.youtube.com/watch?v=dNaJg-mLobQ)
@@ -1045,7 +1033,7 @@ Skiena의 책(아래의 책 섹션 참조)과 인터뷰 책에서 더 많은 그
     - Just the videos - 41 (each are simple and each are short):
     - Just the videos - 41 (each are simple and each are short):
       - [ ] [Probability Explained (video)](https://www.youtube.com/watch?v=uzkc-qNVoOk&list=PLC58778F28211FA19)
       - [ ] [Probability Explained (video)](https://www.youtube.com/watch?v=uzkc-qNVoOk&list=PLC58778F28211FA19)
 
 
-- ### NP, NP-Complete and Approximation Algorithms
+- ### NP, NP-완전, 근사 알고리즘
   - Know about the most famous classes of NP-complete problems, such as traveling salesman and the knapsack problem,
   - Know about the most famous classes of NP-complete problems, such as traveling salesman and the knapsack problem,
         and be able to recognize them when an interviewer asks you them in disguise.
         and be able to recognize them when an interviewer asks you them in disguise.
   - Know what NP-complete means.
   - Know what NP-complete means.
@@ -1066,7 +1054,15 @@ Skiena의 책(아래의 책 섹션 참조)과 인터뷰 책에서 더 많은 그
     - [Jupyter Notebook](http://nbviewer.jupyter.org/url/norvig.com/ipython/TSP.ipynb)
     - [Jupyter Notebook](http://nbviewer.jupyter.org/url/norvig.com/ipython/TSP.ipynb)
   - Pages 1048 - 1140 in CLRS if you have it.
   - Pages 1048 - 1140 in CLRS if you have it.
 
 
-- ### Caches
+- ### 컴퓨터가 프로그램을 처리하는 방식
+
+    - [ ] [How CPU executes a program (video)](https://www.youtube.com/watch?v=XM4lGflQFvA)
+    - [ ] [How computers calculate - ALU (video)](https://youtu.be/1I5ZMmrOfnA)
+    - [ ] [Registers and RAM (video)](https://youtu.be/fpnE6UAfbtU)
+    - [ ] [The Central Processing Unit (CPU) (video)](https://youtu.be/FZGugFqdr60)
+    - [ ] [Instructions and Programs (video)](https://youtu.be/zltgXvg6r3k)
+
+- ### 캐시
   - [ ] LRU cache:
   - [ ] LRU cache:
     - [ ] [The Magic of LRU Cache (100 Days of Google Dev) (video)](https://www.youtube.com/watch?v=R5ON3iwx78M)
     - [ ] [The Magic of LRU Cache (100 Days of Google Dev) (video)](https://www.youtube.com/watch?v=R5ON3iwx78M)
     - [ ] [Implementing LRU (video)](https://www.youtube.com/watch?v=bq6N7Ym81iI)
     - [ ] [Implementing LRU (video)](https://www.youtube.com/watch?v=bq6N7Ym81iI)
@@ -1075,24 +1071,24 @@ Skiena의 책(아래의 책 섹션 참조)과 인터뷰 책에서 더 많은 그
     - [ ] [MIT 6.004 L15: The Memory Hierarchy (video)](https://www.youtube.com/watch?v=vjYF_fAZI5E&list=PLrRW1w6CGAcXbMtDFj205vALOGmiRc82-&index=24)
     - [ ] [MIT 6.004 L15: The Memory Hierarchy (video)](https://www.youtube.com/watch?v=vjYF_fAZI5E&list=PLrRW1w6CGAcXbMtDFj205vALOGmiRc82-&index=24)
     - [ ] [MIT 6.004 L16: Cache Issues (video)](https://www.youtube.com/watch?v=ajgC3-pyGlk&index=25&list=PLrRW1w6CGAcXbMtDFj205vALOGmiRc82-)
     - [ ] [MIT 6.004 L16: Cache Issues (video)](https://www.youtube.com/watch?v=ajgC3-pyGlk&index=25&list=PLrRW1w6CGAcXbMtDFj205vALOGmiRc82-)
 
 
-- ### Processes and Threads
+- ### 프로세스와 쓰레드
   - [ ] Computer Science 162 - Operating Systems (25 videos):
   - [ ] Computer Science 162 - Operating Systems (25 videos):
     - for processes and threads see videos 1-11
     - for processes and threads see videos 1-11
     - [Operating Systems and System Programming (video)](https://archive.org/details/ucberkeley-webcast-PL-XXv-cvA_iBDyz-ba4yDskqMDY6A1w_c)
     - [Operating Systems and System Programming (video)](https://archive.org/details/ucberkeley-webcast-PL-XXv-cvA_iBDyz-ba4yDskqMDY6A1w_c)
   - [What Is The Difference Between A Process And A Thread?](https://www.quora.com/What-is-the-difference-between-a-process-and-a-thread)
   - [What Is The Difference Between A Process And A Thread?](https://www.quora.com/What-is-the-difference-between-a-process-and-a-thread)
-  - Covers:
-    - Processes, Threads, Concurrency issues
-      - difference between processes and threads
-      - processes
-      - threads
-      - locks
-      - mutexes
-      - semaphores
-      - monitors
-      - how they work
-      - deadlock
-      - livelock
-    - CPU activity, interrupts, context switching
+  - 알아 두어야 할 것:
+    - 프로세스, 쓰레드, 동시성 문제들
+      - 프로세스와 쓰레드의 차이점
+      - 프로세스
+      - 쓰레드
+      - 락(Locks)
+      - 뮤텍스(Mutexes)
+      - 세마포어(Semaphores)
+      - Monitors
+      - 각각이 어떻게 동작하는지?
+      - 데드락(Deadlock)
+      - 라이브락(Livelock)
+    - CPU activity, 인터럽트(interrupts), 문맥 교환(context switching)
     - Modern concurrency constructs with multicore processors
     - Modern concurrency constructs with multicore processors
     - [Paging, segmentation and virtual memory (video)](https://www.youtube.com/watch?v=LKe7xK0bF7o&list=PLCiOXwirraUCBE9i_ukL8_Kfg6XNv7Se8&index=2)
     - [Paging, segmentation and virtual memory (video)](https://www.youtube.com/watch?v=LKe7xK0bF7o&list=PLCiOXwirraUCBE9i_ukL8_Kfg6XNv7Se8&index=2)
     - [Interrupts (video)](https://www.youtube.com/watch?v=uFKi2-J-6II&list=PLCiOXwirraUCBE9i_ukL8_Kfg6XNv7Se8&index=3)
     - [Interrupts (video)](https://www.youtube.com/watch?v=uFKi2-J-6II&list=PLCiOXwirraUCBE9i_ukL8_Kfg6XNv7Se8&index=3)
@@ -1100,8 +1096,9 @@ Skiena의 책(아래의 책 섹션 참조)과 인터뷰 책에서 더 많은 그
     - Thread resource needs (shares above (minus stack) with other threads in the same process but each has its own pc, stack counter, registers, and stack)
     - Thread resource needs (shares above (minus stack) with other threads in the same process but each has its own pc, stack counter, registers, and stack)
     - Forking is really copy on write (read-only) until the new process writes to memory, then it does a full copy.
     - Forking is really copy on write (read-only) until the new process writes to memory, then it does a full copy.
     - Context switching
     - Context switching
-      - How context switching is initiated by the operating system and underlying hardware
+      - How context switching is initiated by the operating system and underlying hardware?
   - [ ] [threads in C++ (series - 10 videos)](https://www.youtube.com/playlist?list=PL5jc9xFGsL8E12so1wlMS0r0hTQoJL74M)
   - [ ] [threads in C++ (series - 10 videos)](https://www.youtube.com/playlist?list=PL5jc9xFGsL8E12so1wlMS0r0hTQoJL74M)
+  - [ ] [CS 377 Spring '14: Operating Systems from University of Massachusetts](https://www.youtube.com/playlist?list=PLacuG5pysFbDQU8kKxbUh4K5c1iL5_k7k)
   - [ ] concurrency in Python (videos):
   - [ ] concurrency in Python (videos):
     - [ ] [Short series on threads](https://www.youtube.com/playlist?list=PL1H1sBF1VAKVMONJWJkmUh6_p8g4F2oy1)
     - [ ] [Short series on threads](https://www.youtube.com/playlist?list=PL1H1sBF1VAKVMONJWJkmUh6_p8g4F2oy1)
     - [ ] [Python Threads](https://www.youtube.com/watch?v=Bs7vPNbB9JM)
     - [ ] [Python Threads](https://www.youtube.com/watch?v=Bs7vPNbB9JM)
@@ -1126,11 +1123,7 @@ Skiena의 책(아래의 책 섹션 참조)과 인터뷰 책에서 더 많은 그
     - [ ] [Tao Of Testing](http://jasonpolites.github.io/tao-of-testing/ch3-1.1.html)
     - [ ] [Tao Of Testing](http://jasonpolites.github.io/tao-of-testing/ch3-1.1.html)
   - [ ] [테스트 어떻게 작성하는지](http://jasonpolites.github.io/tao-of-testing/ch4-1.1.html)
   - [ ] [테스트 어떻게 작성하는지](http://jasonpolites.github.io/tao-of-testing/ch4-1.1.html)
 
 
-- ### Scheduling
-  - 운영체제(OS)에서 어떻게 동작하는지
-  - 운영 체제 관련 영상들에서 알아보실 수 있습니다.
-
-- ### String searching & manipulations
+- ### 문자열 검색 & 조작
   - [ ] [Sedgewick - Suffix Arrays (video)](https://www.coursera.org/learn/algorithms-part2/lecture/TH18W/suffix-arrays)
   - [ ] [Sedgewick - Suffix Arrays (video)](https://www.coursera.org/learn/algorithms-part2/lecture/TH18W/suffix-arrays)
   - [ ] [Sedgewick - Substring Search (videos)](https://www.coursera.org/learn/algorithms-part2/home/week/4)
   - [ ] [Sedgewick - Substring Search (videos)](https://www.coursera.org/learn/algorithms-part2/home/week/4)
     - [ ] [1. Introduction to Substring Search](https://www.coursera.org/learn/algorithms-part2/lecture/n3ZpG/introduction-to-substring-search)
     - [ ] [1. Introduction to Substring Search](https://www.coursera.org/learn/algorithms-part2/lecture/n3ZpG/introduction-to-substring-search)
@@ -1142,7 +1135,7 @@ Skiena의 책(아래의 책 섹션 참조)과 인터뷰 책에서 더 많은 그
 
 
     이 주제를 더 자세히 알고 싶으시다면, [몇몇 주제에 대한 세부사항](#몇몇-주제에-대한-세부사항)에서 "문자열 매칭" 섹션을 읽어보세요.
     이 주제를 더 자세히 알고 싶으시다면, [몇몇 주제에 대한 세부사항](#몇몇-주제에-대한-세부사항)에서 "문자열 매칭" 섹션을 읽어보세요.
 
 
-- ### Tries
+- ### 트라이
   - 트라이에는 여러 종류가 있다는 것을 유의하라. 어떤 건 접두사가 있는 데, 어떤 건 그렇지 않고 또 어떤 것은 경로 추적을 위해 비트 대신에 문자열을 사용한다.
   - 트라이에는 여러 종류가 있다는 것을 유의하라. 어떤 건 접두사가 있는 데, 어떤 건 그렇지 않고 또 어떤 것은 경로 추적을 위해 비트 대신에 문자열을 사용한다.
   - 나는 코드만 읽었고, 구현은 안 했다.
   - 나는 코드만 읽었고, 구현은 안 했다.
   - [ ] [Sedgewick - Tries (3 videos)](https://www.coursera.org/learn/algorithms-part2/home/week/4)
   - [ ] [Sedgewick - Tries (3 videos)](https://www.coursera.org/learn/algorithms-part2/home/week/4)
@@ -1159,11 +1152,11 @@ Skiena의 책(아래의 책 섹션 참조)과 인터뷰 책에서 더 많은 그
   - [ ] [Stanford Lecture (real world use case) (video)](https://www.youtube.com/watch?v=TJ8SkcUSdbU)
   - [ ] [Stanford Lecture (real world use case) (video)](https://www.youtube.com/watch?v=TJ8SkcUSdbU)
   - [ ] [MIT, Advanced Data Structures, Strings (can get pretty obscure about halfway through)](https://www.youtube.com/watch?v=NinWEPPrkDQ&index=16&list=PLUl4u3cNGP61hsJNdULdudlRL493b-XZf)
   - [ ] [MIT, Advanced Data Structures, Strings (can get pretty obscure about halfway through)](https://www.youtube.com/watch?v=NinWEPPrkDQ&index=16&list=PLUl4u3cNGP61hsJNdULdudlRL493b-XZf)
 
 
-- ### Floating Point Numbers
+- ### 부동 소수점
   - [ ] simple 8-bit: [Representation of Floating Point Numbers - 1 (video - there is an error in calculations - see video description)](https://www.youtube.com/watch?v=ji3SfClm8TU)
   - [ ] simple 8-bit: [Representation of Floating Point Numbers - 1 (video - there is an error in calculations - see video description)](https://www.youtube.com/watch?v=ji3SfClm8TU)
   - [ ] 32 bit: [IEEE754 32-bit floating point binary (video)](https://www.youtube.com/watch?v=50ZYcZebIec)
   - [ ] 32 bit: [IEEE754 32-bit floating point binary (video)](https://www.youtube.com/watch?v=50ZYcZebIec)
 
 
-- ### Unicode
+- ### 유니코드
   - [ ] [The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets]( http://www.joelonsoftware.com/articles/Unicode.html)
   - [ ] [The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets]( http://www.joelonsoftware.com/articles/Unicode.html)
   - [ ] [What Every Programmer Absolutely, Positively Needs To Know About Encodings And Character Sets To Work With Text](http://kunststube.net/encoding/)
   - [ ] [What Every Programmer Absolutely, Positively Needs To Know About Encodings And Character Sets To Work With Text](http://kunststube.net/encoding/)
 
 
@@ -1174,7 +1167,7 @@ Skiena의 책(아래의 책 섹션 참조)과 인터뷰 책에서 더 많은 그
     - Very technical talk for kernel devs. Don't worry if most is over your head.
     - Very technical talk for kernel devs. Don't worry if most is over your head.
     - The first half is enough.
     - The first half is enough.
 
 
-- ### Networking
+- ### 네트워크
   - **만약 당신이 네트워크에 대한 경험이 있거나 operations engineer 또는 믿음직한 엔지니어가 되고 싶다면 받을 수 있는 질문들**
   - **만약 당신이 네트워크에 대한 경험이 있거나 operations engineer 또는 믿음직한 엔지니어가 되고 싶다면 받을 수 있는 질문들**
   - 즉, 알면 좋은 것들이다.
   - 즉, 알면 좋은 것들이다.
   - [ ] [Khan Academy](https://www.khanacademy.org/computing/computer-science/internet-intro)
   - [ ] [Khan Academy](https://www.khanacademy.org/computing/computer-science/internet-intro)