💡이 글은 회고록입니다. 따라서 일부 정확하지 않은 내용이 있을 수 있습니다. 🐋서론 나는 웨일 브라우저 출시 초기부터 지금까지 웨일 브라우저를 사용해오고있는 장수 웨일러이다. 당시 나는 웨일 확장앱을 만들고 있었다. 확장앱을 만들 때 필요한 정보를 찾기 위해 검색을 하던 중 대외활동을 발견했다. 활동 혜택이 너무 매력적이었다. 오픈한지 얼마 되지 않은 신사옥 체험, 네이버 임직원 멘토링 게다가 소정의 할동비까지... 🐋자소서 항목 1. 간단한 자기소개를 해주세요. 2. 웨일 대학에 지원하게 된 동기 및 활동 기간동안 얻고 싶은 것 3. 웨일 대학에서 해보고 싶은 것 4. 추가로 하고 싶은 말이 있다면 자유롭게 해주세요. 🐋자소서 작성 꿀팁 1. 빠짐 없이 참석 가능 모집 안내를 보니, 4번의 모임 모두..
언젠가 React같은 큰 프로젝트에 기여를 해보고 싶다. React 작동 방식 공부도 할 겸 소스코드를 구경해보기로 했다. 💡오픈소스 이해하는 꿀팁 테스트코드를 먼저 보세요! 테스트코드를 먼저 보면 코드를 이해하는데 도움이 된다고 한다. 역시, 어렵다. 하지만, 한가지는 알겠다. 아래의 코드를 보자. ⌨️코드 원본 코드 링크 it('renders an empty fragment', () => { const Div = () => ; const EmptyFragment = () => ; const NonEmptyFragment = () => ( ); ReactDOM.render(, container); expect(container.firstChild).toBe(null); ReactDOM.render(, ..
문제 문제 링크 설명 cache hit일때, 삽입정렬을 응용해서 풀었다. 코드 function solution(cacheSize, cities) { const CACHE_HIT_TIME = 1; const CACHE_MISS_TIME = 5; let cache = Array.from({ length: cacheSize }); let total = 0; for (let city of cities) { city = city.toLowerCase(); let idx = cache.indexOf(city); if (idx !== -1) { // cache hit for (j = idx - 1; j > -1; j--) { cache[j + 1] = cache[j]; } cache[0] = city; total +..
✅공통점 자바스크립트에서 findIndex()와 indexOf()는 둘 다 배열(Array)에서 특정 값을 찾는 메서드이다. 하지만 둘 사이에는 몇 가지 중요한 차이점이 있다. ❌차이점 비교 방식의 차이 findIndex(): 배열의 각 요소에 대해 콜백 함수를 실행하며, 콜백 함수의 반환값이 true인 첫 번째 요소의 인덱스를 반환한다. 즉, 콜백 함수에 사용자 정의의 비교 로직을 적용할 수 있다. indexOf(): 주어진 값과 배열의 요소를 엄격한(===) 비교를 통해 찾는다. 값의 타입과 값이 모두 일치하는 요소를 찾아 인덱스를 반환한다. 사용 가능한 환경의 차이 findIndex(): ECMAScript 2015(ES6)에서 도입된 메서드로, 브라우저 및 일부 환경에서 지원하지 않을 수 있다. ..
문제 문제 링크 설명 원래는 힙 2개를 사용해서 푸는 문제이다. 하지만 프로그래머스에서는 배열 1개로 풀어도 통과된다 다음에는 힙을 직접 구현해서 풀어보고싶다. 코드 function solution(operations) { let queue = []; for(let operation of operations){ if (operation ==='D 1'){ let max = Math.max(...queue); let deleted = false; let newQueue = []; for(let q of queue){ if(q===max){ if(!deleted){ deleted = true; } }else{ newQueue.push(q); } } queue = newQueue; } else if(opera..
별점이 높은 강의들 중에서도 괜찮은 강의들만 모아봤다. 코딩테스트 대비 자바스크립트로 자료구조나 알고리즘을 구현한 한국어 지원 강의는 이것밖에 없지 않을까? 몇몇 알고리즘은 빠진 것 같아서 아쉬웠다. (위상정렬 이라던가...) 강의력 ⭐⭐⭐⭐⭐ 가성비 ⭐⭐⭐⭐⭐ 내용 ⭐⭐⭐⭐ 【한글자막】 JavaScript 알고리즘 & 자료구조 마스터클래스 보기만 해도 문제풀이 실력이 오르는 신기한 강의이다. 심화 버전도 있다면 좋을 것 같다. 여기도 위상정렬같은 알고리즘은 다루지 않는 것 같다. 강의력 ⭐⭐⭐⭐⭐ 가성비 ⭐⭐⭐⭐ 내용⭐⭐⭐⭐ 자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비) 자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비) - 인프런 | 강의 자바스크립트(JavaScript)로 코딩테스트를 준비..
설명 연결 리스트는 삽입과 삭제의 시간 복잡도가 O(1)이다. 따라서 큐를 배열이 아닌 연결리스트로 구현하면 성능상 이점이 있다. 단일 연결 리스트로 구현해서 삽입은 맨 뒤에, 삭제는 맨 앞에서 진행한다. (삭제를 뒤에서 하면 시간이 오래 걸리기 때문이다.) 코드 class Node { constructor(value){ this.value = value; this.next = null; } } class Queue { constructor(){ this.first = null; this.last = null; this.size = 0; } enqueue(val){ var newNode = new Node(val); if(!this.first){ this.first = newNode; this.last ..