일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 프로그래머스
- leetcode
- 자바스크립트 연결리스트
- 타입스크립트
- Baekjoon
- 자바스크립트코딩테스트
- 자바스크립트 문제풀이
- Next.js13
- stack문제
- NPM
- 자바스크립트 알고리즘
- JS
- 자바스크립트 알고리즘 문제
- lodash
- HTML
- 자바스크립트 문제
- react
- 프론트엔드
- next13
- til
- 리액트쿼리
- Next
- 알고리즘문제풀이
- 리액트
- 자바스크립트
- leetcode문제풀이
- CSS
- 자바스크립트 문제 풀이
- 제로베이스
- JavaScript
- Today
- Total
목록자바스크립트 알고리즘 (5)
코드노트
우선순위 큐 (Priority Queue) - 우선 순위를 고려하여 먼저 넣은 데이터가 나오는 FIFO(First In First Out) 기반의 선형 자료 구조 * 일반 큐와 다른점은 무조건 적으로 먼저 넣은 데이터가 나오게 아니라 우선 순위를 정렬하여 나오게 된다. - 우선 수위 정렬 방식 : 배열 기반, 연결리스트 기반, 힙(Heap)기반 등의 정렬 방식이 존재 구현 메서드 // Element(): 데이터와 우선순위를 저장히기 위한 생성자 함수 function Element(data, priority) { this.data = data; this.priority = priority; } - data, priority의 필드를 설정해준다. // PriorityQueue(): Element 관리를 위한..
더보기 문제 설명 일부 언어에서는 배열의 길이를 변경할 수 없으므로 대신 배열 번호의 첫 번째 부분에 결과를 배치해야 합니다. 더 공식적으로, 중복을 제거한 후 k 요소가 있으면 nums의 처음 k 요소가 최종 결과를 보유해야 합니다. 처음 k개 요소를 넘어 무엇을 남겨두는지는 중요하지 않습니다. 숫자의 처음 k 슬롯에 최종 결과를 배치한 후 k를 반환합니다. 다른 어레이에 추가 공간을 할당하지 마십시오. O(1) 추가 메모리를 사용하여 제자리에서 입력 배열을 수정하여 이 작업을 수행해야 합니다. 와..문제 이해가 이렇게 어려운건 또 처음인거같다.. easy문제인데 계속 맞게 문제를 풀었는데 테스트가 통과되지 않았다.. 내가 문제 이해를 못했구나... 배열을 return하려고 했는데 배열을 return하..
더보기 문제 설명 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요. function solution(arr1, arr2) { var answer = []; for (let i = 0; i < arr1.length; i++) { let sum = []; for (let j = 0; j < arr1[i].length; j++) { sum.push(arr1[i][j] + arr2[i][j]); } answer.push(sum); } return answer; } - 아직도 2차원 배열에 접근하는게 조금 어렵다... - for문으로 간단하게 해결을 ..
자바스크립트 달팽이 배열 문제.. 처음에는 풀이를 보면서도 이해가 잘 되지 않았다. unshift, push를 사용해야하는건가? 라는 생각을 했지만 2차원배열을 추가한 후 x, y를 통해서 배열을 가르키는 인덱스 번호를 수정하면서 숫자를 넣어주면 되는 거였다. 나중에 다시 기억을 살릴수 있도록 기록해보려고 한다.. 달팽이 배열 풀이 코드 let result = []; // 1. result => 2차원 배열 for (let i = 0; i < length; i++) { result[i] = []; } /** 2.패턴 기반으로 반복문 구현 * 1) length 길이만큼 시작해서 숫자를 채운다. * 2) length = i만큼 줄어들고, 방향도 바뀌면서, 2회씩 출력한다. * 3) length == 0; 프..
const fs = require("fs"); const input = fs.readFileSync("./input.txt", "utf8") console.log(input); 프론트엔드를 준비하면서 자바스크립트로 알고리즘 공부를 하려고 하면 처음에 시작해야하는게 있다. 파일을 가지고 오려면 require()를 통해서 들고 온다. fs = file system fs 라이브러리 중에서 readFileSync를 통해서 파일을 읽을 수 있는 기능을 제공하는 함수를 가지고온다. input에 담겨 있는 console.log로 출력해보면 문자열로 확인이 가능해진다. 텍스트 파일을 불러오려면 이렇게 진행해야한다. 그 외에 다른방법도 있지만 node.js에서 사용하기 위해서 이렇게 사용한다.