본문 바로가기
반응형

웹개발80

[JavaScript] apply() 와 call() 이번에는 apply()와 call()에 대해서 알아보았다. apply() 메서드는 주어진 값과 배열로 제공되는 arguments로 함수를 호출해준다. call() 과 유사하지만 둘은 차이점이 있다. call() 은 함수에 전달될 인수 리스트를 받는데 비해, apply() 는 인수들의 단일 배열을 받는다. MDN에서는 이렇게 명시하고 있다. 그래서 간단한 예제들을 통해 살펴 보았다. // 기본 사용법 // func.apply(thisArg, [argsArray]) 현재사용할 객체, 배열 // func.call(thisArg[, arg1[, arg2[, ...]]]) 현재 사용할 객체, 객체를 위한 인수 function myFunction(x, y, z) { return x + y + z; } var arg.. 2020. 9. 15.
[JavaScritp] Spread syntax (...) 전개 구문 오늘은 Spread syntax (...) 전개 구문에 대해서 알아보고자 한다. 전개 구문을 사용하면 함수에 인수로 배열이나 문자열 같은 반복 가능한 값들을 하나씩 넣어준다고 생각하면 된다. 특히 매개변수로 인수를 여러개 넣어주고 싶을 때 또는 동적으로 매개변수를 넣고 싶을 때 전개 구문을 사용하면 좋다. 처음 보는 문법이라 조금 헷갈렸지만 예제를 보면서 이해했다. // 기본 사용법이다. // myFunction(...iterableObj); let num = [1, 2, 3, 4]; console.log(...num); // 1, 2, 3, 4 function myNum(x, y){ if(x > y) return x; else return y; } console.log(myNum(...num)); //.. 2020. 9. 15.
[C++] 삽입 정렬(Insertion sort) 알고리즘 오늘은 삽입 정렬 알고리즘을 C++ 을 이용하여 구현해보았다. 삽입 정렬 알고리즘은 두 번째 원소부터 검사를 하는데 현재 값과 이전 값을 이중 포문을 이용하여 검사 후 이전 값이 현재 값보다 더 크다면 오른쪽으로 이동하여 정렬을 진행한다. #include #include void inser_sort(int ans[], int n) { int i, j, temp; for (i = 1; i = 0 && ans[j] > temp; j--) // 현재 값과 이전 값 비교 후 이전값이 더 크다면 오른쪽으로 이동 { ans[j + 1] = ans[j]; } ans[j + 1] = temp; /.. 2020. 9. 14.
[C++] 이분 탐색(Binary Search) 오늘은 C++ 로 이분 탐색 알고리즘에 대해서 알아보았다. 이분 탐색은 미리 정렬되어 있는 배열에서 탐색 범위를 계속해서 줄여가면서 탐색하고자 하는 값을 찾아가는 알고리즘이다. 정렬된 배열에서 중간값과 찾고자 하는 값을 비교하여 찾고자 하는 값보다 중간값이 크다면 범위를 왼쪽으로 줄이고 찾고자 하는 값보다 중간값이 더 작다면 범위를 오른쪽으로 줄이면서 탐색 범위를 좁혀나가면 된다. #include int BinSearch(int *arr, int n, int key) { int start = 0; int end = n - 1; int mid; do { mid = (start + end) / 2; //중앙 값 if (arr[mid] == key) //key값을 찾았을때의 index 반환 return mid.. 2020. 9. 14.
반응형