[알고리즘] 버블정렬, 선택정렬, 삽입정렬
·
개발/알고리즘
1. 버블정렬 (1) 개념 버블정렬의 개념은 배열을 가장 작은 숫자에서 가장 큰 숫자순으로 오름차순으로 정렬을 한다면 더 큰 숫자가 한번에 하나씩 뒤로 이동한다. (2) 예시 [5,1,2,3,4] [1,5,2,3,4] [1,2,5,3,4] [1,2,3,5,4] [1,2,3,4,5] (3) 코드 function bubbleSort(arr) { const swap = (arr, idx1, idx2) => { [arr[idx1], arr[idx2]] = [arr[idx2], arr[idx1]]; }; for (let i = arr.length; i > 0; i--) { for (let j = 0; j arr[j + 1]) { swap(arr, j, j + 1..
[알고리즘] 선형검색, 이진검색
·
개발/알고리즘
1. 선형검색 선형검색은 처음부터 끝까지 한번에 하나씩 검색하는 것이다. indexOf, includes, find, findIndex 등이 있다. 시간복잡도 : O(n) (문제) arr, num 2개의 매개변수가 주어지는데 arr안에 num가 있다면 인덱스 추출 num가 없다면 -1 return console.log(linearSearch([10, 15, 20, 25, 30], 15)); // 1 console.log(linearSearch([9, 8, 7, 6, 5, 4, 3, 2, 1, 0], 4)); // 5 console.log(linearSearch([100], 100)); // 0 console.log(linearSearch([1, 2, 3, 4, 5], 6)); // -1 console.l..
[BlockChain] TypeScript로 transaction 만들기
·
개발/BlockChain
[BlockChain] TypeScript로 지갑 만들기 [BlockChain] TypeScript로 P2P 구현 [TypeScript] TypeScript로 체인 만들기 [TypeScript] TypeScript로 블록 만들기 1. TypeScript로 블록만들기 (1) OOP(Object Oriented Programming) OOP는 객체지향적인 방법으로 코드를 작성하 diary-blockchain.tistory.com 1. Transaction 트랜잭션이란 블록체인의 거래내역이라고 생각하면된다. 블록이 생성될때 데이터 부분에 몇번째 블록인지 문자로 담았는데 그 부부분에 트랜잭션을 담아준다. 첫번째 블록은 하드코딩 했던것처럼 트랜잭션도 첫번째 트랜잭션은 코인베이스 트랜잭션이라고 하고 마이닝 했을때 ..
[알고리즘] 재귀함수 문제 모음
·
개발/알고리즘
1. 문자열 거꾸로 만들기 (예시) console.log(reverse("awesome")); // 'emosewa' console.log(reverse("rithmschool")); // 'loohcsmhtir' (코드) function reverse(str) { if (str.length === 0) return ""; return reverse(str.slice(1)) + str[0]; } 2. 문자가 대칭인지 확인하기 (예시) console.log(isPalindrome("awesome")); // false console.log(isPalindrome("foobar")); // false console.log(isPalindrome("tacocat")); // true console.log(is..
[알고리즘] 재귀함수
·
개발/알고리즘
1. 재귀함수 (1) 재귀함수란? - 재귀함수란 자기자신을 호출하는 함수이다. (2) 재귀의 기본요소 - 종료조건 - 매번 다른 입력값 (3) 재귀의 위험요소 - 종료조건이 없는경우 : 계속 반복 - return을 하지 않은 경우 - 스택 오버플로우 : 재귀호출이 멈추지 않는 경우 2. 콜스택 예시 function takeShower() { return "Showering!"; } function eatBreakfast() { let meal = cookFood(); return `Eating ${meal}`; } function cookFood() { let items = ["Oatmeal", "Eggs", "Protein Shake"]; return items[Math.floor(Math.random..