분류 전체보기 (330) 썸네일형 리스트형 정렬할때 쓰기 좋은 메소드 List 정렬 시 오름차순 정렬 Collections.sort(정렬할 리스트); 내림차순 정렬 Collections.sort(정렬할 리스트, Comparator.reverseOrder()); 순서 뒤집기 Collections.reverse(뒤집을 리스트); 배열은 Arrays.sort() 를 사용해준다. 두 수의 최대공약수는 유클리드 호제법 유클리드 호제법은 다음과 같이 정리할 수 있습니다. 정수 X와 Y(X>=Y)가 주어졌을 때 X를 Y로 나눈 나머지를 R이라고 하면, X와 Y의 최대공약수는 Y와 R의 최대공약수와 같다. 그러나 X와 0이 남았을 경우 최대공약수는 X로 한다. 이를 활용해서 126과 90의 최대 공약수를 구해보자 126(X)와 90(Y)의 나머지 값은 36(R), 90(X) 와 36(Y) 의 나머지 값은 18 (R) , 36(X) 와 18(Y) 의 나머지 값은 0 (R) 따라서 126과 90의 최대공약수는 18이 된다. 참고도서 : 그림으로 배우는 알고리즘 basic - 스기우라 켄 힙 : 최소값을 구할때 적합한 자료구조 힙은 부모노드의 값이 자식 노드의 값보다 항상 적은 이진트리를 뜻한다. 조건 : 부모 노드의 값은 항상 하위 노드의 값보다 작다. (또는 부모 노드의 값은 항상 하위 노드의 값보다 크다) 자식 노드의 값은 둘 중 어느쪽이 크더라도 상관없다.(왼쪽 오른쪽 어느쪽이 크더라도 괜찮다) 따라서 뿌리 부분에 반드시 모든 값중에서 가장 작은 값(또는 가장 큰 값)이 배치된다. => 데이터 열 중에서 최소값(또는 최대값)을 효율적으로 구하는 용도에 적합하다. 실제로 힙을 구현할 때는 일반적으로 배열을 사용한다. 힙의 뿌리를 1번째 요소로, 그 다음은 아래의 절차를 따라 대입한다. '깊이'는 작은쪽에서 큰 쪽으로 노드의 왼쪽에서 오른쪽 방향으로 이 그림을 배열로 나타내면? 인덱스 [0] [1] [2] [3] [4] [.. 배열 및 배열 활용 자료구조 배열 2차원 배열 BASE0인 경우 ARRAY[2][6]의 위치 : 행, 열 0 1 2 3 4 5 6 0행 1 2 여기 3 문자열은 각 요소에 문자가 저장된 문자 배열이라고 볼 수 있다.\ N번째 요소의 참조가 빠른 것은 배열, 느린것은 연결리스트구조 *java의 ArrayList는 Array와 비슷하다. ArrayList는 내부적으로 Default 10개의 공간을 가진 배열로 구성되어있다. 책에서는 배열과 연결리스트를 비교하고 있음. 자료구조 읽기(참조) 추가/삭제 ArrayList 빠르다 느리다 LinkedList 느리다 빠르다 시간복잡도 ArrayList LinkedList 탐색 O(1) O(1) 맨 뒤 데이터 추가/삭제 O(1) or O(n) O(1) 맨 뒤 외의 위치에 데이터 추가/삭제 O(n).. 구조적 프로그래밍 알고리즘의 기초가 되는 구조적 프로그래밍의 개념 컴퓨터 프로그래밍에서 프로그램을 효율적으로 작성하고, 설계상의 오류를 최소화하기 위한 방법론으로 구조적 프로그래밍이라는 개념이 있다. 구조적 프로그래밍에서 모든 프로세스의 흐름은 다음 3가지 구조를 조합해서 설명할 수 있어야 한다. 순차 구조 : 작성된 순서대로 순차 실행한다 선택 구조: 조건에 따라 수행할 작업의 흐름을 바꾼다 반복 구조: 조건이 일치하는 동안 일정 과정을 반복해서 실행한다. 처리의 흐름을 설명하는 알고리즘 역시 이 3가지 구조의 조합으로 설명한다. 참고도서 : 그림으로 배우는 알고리즘 Basic - 스기우라 켄 Node.js : 기초 module.exports 로 외부에 공개가능 // 계산 기능을 하는 파일 const add = (a,b) => a + b; const sub = (a,b) => a - b; // 내보내기 module.exports ={ moduleName : "calc module", add: add, sub: sub, }; require로 module을 외부파일에서 사용할 수 있다. const calc = require("./calc"); // 가져오기(경로) console.log(calc.add(1,2)); console.log(calc.add(4,5)); console.log(calc.sub(10,2)); npmjs에서 외부 모듈을 받아서 사용할 수 있음. const randomColor = require('ra.. JavaScript의 메모리 구조 JavaScript는 single thread기반인데 어떻게 비동기를 구현할까? JavaScript Engine의 구조: 이 RuntimeEngine 엔진은 Heap(메모리 관리)과 Call Stack(실행할 task 관리)으로 구분된다. Thread는 Call Stack 하나만 담당한다. -> Single Thread로 동작한다. 그리고 비동기 처리를 위해 브라우저나 런타임 환경에서 Web API, Event Loop, Callback Queue를 지원해준다. Web API : 웹 브라우저에서 제공 하는 기능들. 이러한 요청들의 처리는 JavaScript 엔진의 Thread와는 다른 Thread에서 이루어진다.호출만 담당. Call Stack에서 비동기 방식으로 처리되는 함수가 실행되면 Js엔진은 we.. JavaScript 기본 - 응용 개념 정리 React와 Nodejs 학습을 위해 JavaScript를 다시 보고 있다. Falsy 자바스크립트 엔진은 boolean 타입이 아닌 값을 Truthy, Falsy로 구분한다. 조건문이나 반복문에서 Truthy값은 true, Falsy값은 false로 암묵적 형 변환이 일어난다. Falsy 이외의 모든 값은 Truthy이다. falsy 값을 파악해보자. null undefined 숫자 0 숫자 -0 NaN "" (빈문자열) let a = ""; if(a){ console.log("TRUE"); } else{ console.log("FALSE"); } // 출력값 : FALSE이를 이용해서 null과 undefined에 대한 예외처리를 할 수 있다. if(!매개변수) -> 매개변수가 null이거나 unde.. 이전 1 ··· 4 5 6 7 8 9 10 ··· 42 다음