분류 전체보기(53)
-
버블 정렬 (Bubble Sort)
| 버블 정렬 버블 정렬은 오름차순을 예로 들었을 때 가장 작은 숫자와 바로 옆인 큰 숫자를 비교하며 위치를 바꿔주는 알고리즘이다. 더 큰 숫자가 한번에 하나씩 이동한다. 이 알고리즘은 제일 큰 숫자를 맨 뒤로 이동 시키며 정렬을 한다. | 작동 원리 0번째 부터 loop를 실행하고 첫 순서는 14와 21을 비교한다. 14는 21보다 크지 않음으로 위치를 바꾸지 않고 21과 37을 비교한다. 21 또한 37보다 크지 않음으로 위치를 유지한다. 그리고 37과 5를 비교한다. 37을 5보다 큼 으로 위치를 바꿔준다. 계속해서 이런 방식으로 진행 하다 보면 첫번째 loop 이후 마지막 숫자가 정해진다. 그리고 계속해서 똑같은 작업을 반복한다. 반복 이후 이렇게 오름차순 으로 정렬 된다. | 버블 정렬 구현 [..
2023.11.09 -
[React] 새로운 훅을 미리 학습하기 "use"
React 에서는 의견을 공유하는 https://github.com/reactjs/rfcs 라는 github repo 가 있다. 여기서 React 팀이 React core에 추가하려는 새로운 기능에 대해 토론하고 아이디어를 공유한다. 현재 use 라는 새로운 hook 에 많은 기대를 가지고 있다. https://github.com/reactjs/rfcs/pull/229 이곳에서 개발자들이 직접 사용해보며 발생하는 이슈에 대해 토론을 나누고 있다. 저 토론 글의 제목은 "Promise와 async / await에 대한 최고의 지원" 이라고 한다. 아직까지는 canary 와 experimental 모드에서만 사용이 가능하다. 언제 쯤 머지가 될지는 모르겠지만 미리 익혀두면 좋을 것 같아서 정리 해 보려 한다..
2023.10.26 -
[feconf 2023] 프론트엔드 개발자 컨퍼런스 후기
2023년 10월 21일 프론트엔드 개발자 컨퍼런스 중 가장 큰 컨퍼런스 인 feconf 2023 에 다녀왔다. 10월 5일 오전 11시에 티케팅을 했어야했는데 운이 좋게 티케팅에 성공했다! 일주일 전부터 토요일만을 기다리고 있었는데 당일이 되니 긴장도 되고 설레기도 했다. 롯데타워 31층에서 진행 되었으며 12시에 입장이 가능했으나 11시 50분 쯤? 목걸이를 받고 올라갈 수 있었다. 올라가자마자 사람이 엄청 북적였다. 부스를 하나 하나 돌아보며 이벤트도 참여하고 퀴즈도 풀고 선물도 받았다. 그리고 12시 30분 쯤 섹션이 시작 된다는 말을 듣고 듣고싶은 섹션을 찾아 들었다. 내가 들었던 섹션은 1. React 바깥의 프론트엔드 - 신의하(포트원) 2. use 훅이 바꿀 리액트 비동기 처리의 미래 맛 ..
2023.10.23 -
[JS] Array.sort
| Array.sort 자바스크립트의 sort() 메서드는 배열의 요소를 적절한 위치에 정렬 한 이후 배열을 반환한다. 주의해야 할 점은 복사본이 만들어지는 것 이 아닌 원 배열이 정렬 된다. 로직에 따라 원본을 유지할 것인지 아니면 정렬 된 값을 반환만 하는 함수인지 꼭 구분 지어서 로직을 작성해야 한다. | Number 정렬 숫자를 정렬하면 내가 원하는 결과값이 안나온다. 그 이유는 sort 메소드의 기본 정렬 순서는 다음과 같다. - 문자열 유니코드(Unicode) 코드 포인트(code point) 에 따른다. - 배열의 모든 항목이 문자열로 변환된 이후 문자열의 유니코드 값이 선택된 다음에 정렬을 진행한다. 그래서 comparator function(선택적 함수)을 인자로 전달 해야 한다. | C..
2023.10.12 -
이진 검색 (Binary Search)
| 이진 검색 - Binary Search 이진 검색은 정렬된 배열의 중간점을 찾아가며 배열을 쪼개서 원하는 값을 찾아내는 검색 알고리즘이다. 시간 복잡도는 O(log n) 을 가지며 선형 검색 O(n) 보다 속도는 빠르다. 하지만 데이터가 정렬이 되어있어서 이진 검색을 사용 할 수 있다. 또한 데이터의 갯수가 적다면 선형검색이 더 효과적일 수 있다. 주의 할 점은 데이터는 무조건 분류 되어있어야 한다. 분류가 되어있지 않다면 이진 검색은 아무런 쓸모가 없다. 알고리즘은 친구들과 업앤다운 게임을 생각해보면 굉장히 이해하기 편하다. 1부터 50까지의 숫자를 맞추는 게임이며 정답은 27이다. 나는 23을 제시하고 친구는 23 보다 27이 높으니 "업" 이라고 외쳤다. 그러면 1부터 23은 필요없는 숫자가 되..
2023.10.11 -
선형 검색 (Linear Search)
| 선형 검색 - Linear Search 선형 검색은 주로 문자열이 주어지고 해당 문자열이 포함된 값이 있는지 확인 할 때 사용한다. 예를 들어 유저의 아이디는 unique 값이다. 즉 다른 유저가 jihoo 라는 아이디를 사용하면 나는 jihoo를 사용하지 못한다. 가장 좋은 방법은 개별 항목을 하나씩 확인하며 값을 찾으면 그 값을 뱉어주게 하는것이다. 검색 방법 중에서 가장 단순하며 구현이 쉽다. 또한 정렬되지 않은 리스트에서도 사용이 가능하다. | 내장 함수 없이 선형 검색 구현 - 인자로 넘어온 numArr 안에 value의 값이 있는지 확인 동일한 기능을 하는 내장함수들을 JS에서는 지원한다. | 내장 함수 (indexOf / includes ... ) - indexOf indexOf는 값을 ..
2023.10.10