개념삽입정렬은 배열을 정렬 된 영역과 정렬되지 않은 영역으로 본다. 정렬 된 영역의 옆에 붙은 원소를 정렬 된 영역을 앞에서부터 순회하면서 맞는 자리에 삽입하는 방식이다.작동방식오름차순으로 정렬할 때 작동방식은 다음과 같다. 인덱스 i에 있는 원소 a를 정렬할 차례일 때, 0 부터 i-1까지는 이미 정렬되어 있는 상태다. 정렬 된 영역의 원소를 하나씩 a와 비교하면서 a보다 크다면 shift를 하고 a보다 작다면 a를 삽입한다.동작과정파이썬def insertion_sort(my_list: list): for i in range(1, len(my_list)): key = my_list[i] j = i while j > 0 and my_list[j - 1] > ke..
#1 동적 프로그래밍이란?① 큰 문제의 해답에 작은 문제의 해답이 포함되어 있고 ② 이를 재귀호출로 구현하면 지나친 중복이 발생하는 경우에 이 재귀적 중복을 해결하는 방법이다.#2 문제의 조건최적하부구조부분문제들 간의 중복 존재최적하부구조큰 문제의 해답에 그보다 작은 문제의 해답이 포함되어 있다.큰 문제와 작은 문제 간의 관계를 점화식으로 표현 가능하다.예: 펙토리얼 함수부분문제들 간의 중복 존재재귀호출로 문제를 해결할 때 중복되는 연산이 존재중복 연산에 의한 엄청난 비효율 발생#3 구현전략다이나믹 프로그래밍을 적용하는 방식으로 탑다운 방식과 버텀업 방식이 있다.탑다운 방식은 재귀호출을 사용하고 버텀업 방식은 재귀호출 대신에 반복문을 사용한다.양 방법 모두 중복되는 연산의 결과를 따로 저장한다.계산결과를..
#1 객체 생성하기객체란 여러 변수들을 하나의 변수로 묶은 것이다. 객체 내부의 정보들을 속성이라고 한다.const zerocho = { name: "조현영", year: 1994, month: 8, date: 12, gender: "M",};#2 객체 속성에 접근하기객체의 속성은 마침표를 통해, 또는 속성의 이름을 통해 접근할 수 있다. 속성의 이름을 통해 접근하려면 문자열로 입력을 해야한다. 변수명을 그대로 입력하면 변수에 저장 된 값을 통해 속성을 찾는다.// 객체 생성: 객체는 여러 변수를 하나의 변수로 묶는다const zerocho = { // 속성: 중괄호 내부의 정보 // 형식: : name: "조현영", year: 1994, mont..
함수: 특정한 작업을 수행하는 코드익명함수: 이름이 없는 함수함수 선언문: 함수 키워드를 사용하여 함수를 선언한 문장함수 표현식: 함수를 상수나 변수에 대입하는 방식화살표함수: 화살표 기호를 사용하는 함수함수 호출하기: 함수를 사용하는 행위#1 함수 선언하기함수를 선언할 때 이름도 같이 지어야 다른 곳에서 사용할 수 있다. function a() {} // 함수선언문const b = function () {}; // 함수표현식const c = () => {}; // 함수표현식, 화살표함수#2 함수 호출하기함수 호출이란 함수를 사용하는 행위다. 함수의 몸체의 실행문들이 실행된다.function a(){ console.log(); console.log(); console.log(); }..
반복문: 프로그램이 특정 작업을 반복하도록 작성한 명령문#1 while 문while문은 조건식을 검사한 후에 실행문을 수행한다. 조건식이 참이면 실행문을 계속 실행한다.while(조건식){ 실행문 }while문을 멈추려면 조건식을 거짓으로 만들거나 break문을 사용한다.let i = 0;while(true){ i++; if(i === 5){ break; }}let i = 0;while( i #2 for문for문도 반복문이다. for문은 시작, 조건식, 종료식, 실행문으로 구성된다.for(시작;조건식;종료식){ 실행문 }for문은 시작식을 시작으로 조건식을 검사한 수 실행문을 실행하고 종료식을 실행한다. 조건식이 참이면 조건식부터 종료식까지 반복한..
조건문: 주어진 조건에 따라 코드를 실행하거나 실행하지 않는 문#1 if 조건문의 기본형식if 조건문은 예약어 if 뒤에 조건식과 실행문으로 구성한다.if(조건식){ 실행문}조건식이 참일 경우에 실행문이 실행이 되고, 거짓인 경우에 실행하지 않는다. 조건식에 거짓인 값을 넣으면 조건문은 실행하지 않는다.NaN, 0, '0', '', undefined, null#2 else 문을 활용한 두 방향 분기else문을 활용하면 두방향으로 분기할 수 있다. 조건식이 거짓이면 else문이 실행된다.if(false){ 'hello, if';} else { 'hello, else';}#3 else if를 사용해 여러 방향으로 분기하기경우의 수에 따라 여러 방향으로 분기할 수도 있다. 점수 분포에 따른 성..