본문 바로가기

전체 글

(69)
191119(화) TIL-2. Check Point 9-10 [CODESTATES im16] Check Point 9-10 1. Checkpoint 9 Q7. After the following code runs, what will be the value of myArray? var myArray = [2, 3, 4, 5]; function doStuff(arr) { arr = [ ]; } doStuff(myArray); 예상: [] 정답: [2, 3, 4, 5] Q9. After the following code runs, what will be the value of player? var player = { score: 3 }; function doStuff(obj) { obj = {}; } player = doStuff(player); 예상: {score:3..
191119(화) TIL-1. Time Complexity 2 [CODESTATES im16] Time Complexity 2 1. Time Complexity 2 1-1. O(1): constant time 입력데이터의 크기와 상관 없이 언제나 일정한 시간이 걸리는 알고리즘 F(n) { return (n[0] === 0) ? true : false; } 1-2. O(n): linear time 입력데이터의 크기와 비례해서 시간이 증가하는 알고리즘 function F(n) { for (let i = 0; i < n.length; i++) { conosole.log(i); } } 1-3. O(n^2): quadratic time function F(n) { for (let i = 0; i < n.length; i++) { for (let j = 0; j < n.len..
191118(월) TIL-2. Time Complexity [CODESTATES im16] Time Complexity Compleity Analysis 알고리즘을 실행하는 것에 있어 시간과 공간을 얼마나 차지하는지 나타내는 지표 시간과 공간의 복잡도: 그 알고리즘의 효율을 나타냄 1. 시간복잡도 시간복잡도를 알 수 있으면 알고리즘의 실행시간이 얼마나 걸릴지 예상해 볼 수 있다. 2. 자료구조별 시간복잡도 해시테이블 추가: O(1) Binary Search: O(log n) Linked List: O(n) 재귀함수: O(c^n) 2-1. Array 메모리가 정해져있는 배열이라고 가정함.(JS는 아님) Lookup (position): 정해져 있는 자리에 저장되어 있는 데이터를 바로 불러오는 것이기 때문에 O(1) Assign: Lookup과 마찬가지로 정해져 있..
191118(월) TIL-1. Checkpoint5&6, Sprint Office Hour [CODESTATES im16] Checkpoint5&6, Sprint Office Hour 1. Checkpoint 5 & 6 1-1.bind() call(), apply()와 bind()의 차이. => bind()는 함수를 실행하지 않고 this 바인딩만 한 뒤, 함수를 반환한다. : 함수를 실행하지 않음! 바인드에도 우선순위가 있나요? => 예, 있습니다. 레퍼런스로 올리겠음. JS this 바인딩 우선순위 1-2. 5-Q9 var name = "Window"; var alice = { name: "Alice", sayHi: function() { alert(this.name + " says hi"); } }; var bob = { name: "Bob" }; alice.sayHi.bind(bob);..
191117(일) TIL-1. Pseudo Code(Data Structure) [CODESTATES im16] Data Structure's Pseudo Code 1. Linked List 191119(화) 추가 removeHead에서 다른 곳에서 참조하는 것이 없는 node는 GC(Garbage Collector)가 처리해 준다. 2. Tree Tree 클래스 node : 데이터 저장 child : array .addChild(value) : tree에 값이 value 인 자식 node 추가. 값이 value 인 새로운 Tree 생성. this.child에 새 Tree를 push. contains(target) : target이 tree에 존재하는지 확인. 타이핑하다가 손으로 하는 게 더 빠를 것 같아 손으로 썼음. 191118(월) 추가 constains함수의 child탐색의 ..
191116(토) TIL-2. Check Point 5, 6 [CODESTATES im16] Check Point5, 6 Check Point 5 Q3. What message will eventually be alerted? After how long? var name = "Window"; var alice = { name: "Alice", sayHi: function() { alert(this.name + " says hi"); } }; var bob = { name: "Bob" }; setTimeout(alice.sayHi.bind(alice), 1000); 예상, 결과: Alice says hi, after 1 second bind? setTimeout과 함께 사용 클래스 인스턴스를 참조하는 this를 필요로 하는 클래스 메소드로 작업하는 경우, 명시해서 ..
191115~16(금~토) TIL-1 Advanced Data Structure [CODESTATES im16] Advanced Data Structure 1. Linked List node: 데이터와 다음 링크를 저장하는 변수를 저장하는 object 를 뜻함 head: 첫번째 노드를 가리키는 변수 tail: 마지막 노드 insert(): 리스트에 데이터를 저장 원하는 위치에 데이터를 저장할 수 있다. remove(): 리스트의 데이터를 삭제 원하는 위치에 있는 데이터를 삭제할 수 있다. 2. Graph Alice, Bell, Chris와 같은 사람들(파란 원): 정점(vertex), node 사람들 사이의 연락망(빨간 선): 간선(edge) 무방향 그래프: 간선의 방향이 없는 그래프 Bell이 Finn에게 연락할 수 있는 방법 Bell - Chris - Dominic - Eli -..
191115(금) TIL-1 Check Point4 [CODESTATES im16] Check Point4 문제풀이 Q1. 코드 실행 후 result 값? var obj1 = { x: 10 }; var obj2 = Object.create(obj1); var result = obj2.x; [ o ] 10 [ ] 20 [ ] 30 [ ] undefined console.log(obj1 === obj2.__proto__); //true Object.create(obj1); 의 리턴값은 .__proto__가 obj1을 가르키는 빈 객체 Q6. 코드 실행 후 result 값? var obj1 = { x: 10 }; var obj2 = Object.create(obj1); obj2.x += 10; obj1.x = 15; var result = obj2.x; [ ]..