이론

    [정렬] Selection Sort - JS, Python

    [정렬] Selection Sort - JS, Python

    선택정렬 알고리즘 1. 먼저 주어진 리스트 중에 최소값찾기 2. 그 값(최소값)을 맨 앞에 위치한 값과 교환 3. 맨 앞을 고정하고 다시 순회하며 최소값 찾기 4. 그 값을 고정 값 바로 다음 위치와 교체...반복 선택정렬은 n번째 회전이 끝날 때마다 앞에서 n번째 데이터의 위치가 고정된다 교환 횟수를 최소화하는 반면 각 자료 비교하는 횟수 증가 Big O * 선택 정렬은 N번 만큼 가장 작은 수를 찾아서 맨 앞으로 보내줘야 함 * 구현 방식에 따라 사소한 오차는 있을 수 있지만 전체 연산횟수는 아래와 같음 N + (N - 1) + (N - 2) + ... + 2 * 이는 (N^2 + N - 2) / 2 로 표현할 수 있는데 빅오 표기법에 따라서 O(N^2)이라 작성 WORST O(n^2) - 정렬이 하..

    [JavaScript] 알고리즘에 쓰이는 문법 (판별)

    [JavaScript] 알고리즘에 쓰이는 문법 (판별)

    판별 match() 인자에 포함된 문자를 찾으면 이를 반환(Array로) 일치하는게 없으면 null반환 1. 일반 문자열 if (str.match('red') === 'red') { console.log('Okay'); } 2. 정규표현식 let new_id = 'hello' new_id.match(/^[a-z]$/) //['hello'] var test = 'love you. love me. love everything!' var regExp = /love/gi; test2 = test.match(regExp); ['love', 'love', 'love'] // test2변수에 배열로 모든 love 텍스트가 저장됨 var str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijkl..

    [JavaScript] 알고리즘에 쓰이는 문법 (중복, 포함여부)

    [JavaScript] 알고리즘에 쓰이는 문법 (중복, 포함여부)

    중복제거 Set < indexOf < includes순으로 시간 오래걸림 indexOf() 배열에서 지정된 요소 찾을 수 있는 첫번째 인덱스를 반환 존재하지 않으면 -1 if(answer.indexOf(numbers[i]+numbers[j])===-1){ answer.push(numbers[i]+numbers[j]) } Set() 자료형에 관계 없이 원시 값과 객체 참조 모두 유일한 값을 저장할 수 있음 const temp = [] for (let i = 0; i < numbers.length; i++) { for (let j = i + 1; j < numbers.length; j++) { temp.push(numbers[i] + numbers[j]) } } const answer = [...new Se..

    [JavaScript] 알고리즘에 쓰이는 문법(누적합, 정렬)

    [JavaScript] 알고리즘에 쓰이는 문법(누적합, 정렬)

    누적합 reduce 누적할때 사용 acc가 합의 결과, 0으로 초기화, cur이 a 순서대로, idx가 index function solution(a, b) { var answer = a.reduce((acc, cur, idx) => acc += cur*b[idx], 0) return answer } 정렬 sort() 정렬하기 : array, object일때 사용가능 기본개념 sort(a, b)에서 a는 다음 인자, b는 현재 idx인자를 뜻함 sort([compareFunction])에서 [compareFunction] 이 어떤 값을 반환하는지가 중요 0보다 크다 0이다 0보다 작다 ⇒ 이 경우에만 앞 뒤 순서가 바뀜 answer.sort((next, prev) ⇒ (next > prev) - (nex..

    [JavaScript] 알고리즘에 쓰이는 문법 (배열초기화)

    [JavaScript] 알고리즘에 쓰이는 문법 (배열초기화)

    new Array 초기화 할 값의 길이를 정할 수 있음 prices = [1,2,3,4,5] answer = new Array(prices.length) >>[ ] Array.from 초기화할 범위와 값을 정할 수 있다 const arr = Array.from({length: 5}, (v, i) => i); // i(index) 1씩 증가 console.log(arr); // => Array(5) [0, 1, 2, 3, 4] console.log(arr[0]); // => 0 console.log(arr.length); // => 5 /* 콜백함수의 첫번째 매개변수, v 생략시 undefined 반환 */ const arr = Array.from({length: 5}, (i) => i); console...

    API란?

    API란?

    ❗위 내용은 유튜브 엘리님의 API 영상을 보고 작성한 글입니다 https://www.youtube.com/watch?v=ogT267HvNuQ API란? Application Programming interface약자 1964년 등장 하드웨어 독립성을 위해 사용됨 1984년 MacOS와 windows의 등장 각각의 운영체제에서 동작하는 어플리케이션 만들기 위해 API사용 1990년도 인터넷 보편적으로 대중화 다양한 기기에서 서버에 있는 데이터 읽고 쓰기 위해 서버에서 제공하는 web API를 이용해 처리 네트워크에서 기기들간에 의사소통 해나가는 규격사항을 HTTP라고 부름 REST란? Representational State Transfer의 약자 API어떻게 디자인해서 만들건지 정의하는 것 REST 4..