일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 알고리즘
- 역행자
- 개발자_조이킴
- Algorithms
- Developer_JoyKim
- 자바스크립트
- select
- 최강의 인생
- 배열
- JavaScript
- array
- Programmers
- 프로그래머스
- 코드스테이츠
- 재귀함수
- 코딩공부
- SQL
- 정규표현식
- 블록체인
- 코딩테스트
- for문
- 개발자의 책장
- array.push()
- MySQL
- 코플릿
- Where
- Hackerrank
- join
- node.js
- array.slice()
- Today
- Total
목록전체 글 (209)
CodingSpace
Intro. 사이드 프로젝트 개발이 종료된 후 공부차 개인적으로 Node.js + Express로 개발한 백엔드 코드를 리팩토링하기로 결정했다. 리팩토링 이전에 테스트 코드를 작성하기로 했고 JS 진영에서 널리 사용되는 Jest 라이브러리를 사용하기로 했다. 테스트 코드 실행을 위해 초기 세팅을 하는 중 아래와 같은 에러가 발생했다. ReferenceError: You are trying to `import` a file after the Jest environment has been torn down. 에러는 작성한 테스트 코드를 실행하기 위해 아래와 같은 명령어를 터미널 창에 입력했을 때 발생했다. // 터미널에 입력한 명령어 npm run test // package.json - test "test..
Problem. 가장 먼 노드 Link. https://school.programmers.co.kr/learn/courses/30/lessons/49189 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Problem. n개의 노드가 있는 그래프가 있습니다. 각 노드는 1부터 n까지 번호가 적혀있습니다. 1번 노드에서 가장 멀리 떨어진 노드의 갯수를 구하려고 합니다. 가장 멀리 떨어진 노드란 최단경로로 이동했을 때 간선의 개수가 가장 많은 노드를 의미합니다. 노드의 개수 n, 간선에 대한 정보가 담긴 2차원 배열 vertex가 매개변수로 주어질 때, 1번 ..
Queue 먼저 삽입된 데이터가 먼저 나오는 FIFO(First In First Out) 구조로 잘 알려진 자료구조이다. 너비 우선 탐색 (Breadth First Search, BFS)를 구현하는데 사용된다. 코드 구현 자료구조 Queue를 javascript 코드로 구현하면 아래와 같다. // javascript로 구현한 // 자료구조 Queue class Queue { constructor() { this.queue = []; this.head = 0; this.rear = 0; } // 삽입 enqueue(value) { this.rear++; this.queue[this.rear] = value; } // 제거 dequeue() { const value = this.queue[this.front..
Problem. 큰 수 만들기 Link. https://school.programmers.co.kr/learn/courses/30/lessons/42883 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Problem. 어떤 숫자에서 k개의 수를 제거했을 때 얻을 수 있는 가장 큰 숫자를 구하려 합니다. 예를 들어, 숫자 1924에서 수 두 개를 제거하면 [19, 12, 14, 92, 94, 24]를 만들 수 있습니다. 이 중 가장 큰 숫자는 94입니다. 문자열 형식으로 숫자 number와 제거할 수의 개수 k가 solution 함수의 매개변수로 주어집니다..
Problem. 입국심사 Link. https://school.programmers.co.kr/learn/courses/30/lessons/43238 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Problem. n명이 입국심사를 위해 줄을 서서 기다리고 있습니다. 각 입국심사대에 있는 심사관마다 심사하는데 걸리는 시간은 다릅니다. 처음에 모든 심사대는 비어있습니다. 한 심사대에서는 동시에 한 명만 심사를 할 수 있습니다. 가장 앞에 서 있는 사람은 비어 있는 심사대로 가서 심사를 받을 수 있습니다. 하지만 더 빨리 끝나는 심사대가 있으면 기다렸다가 그곳..
Problem. 배상 비용 최소화 Link. https://school.programmers.co.kr/learn/courses/13213/lessons/91086 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Problem. OO 조선소에서는 태풍으로 인한 작업지연으로 수주한 선박들을 기한 내에 완성하지 못할 것이 예상됩니다. 기한 내에 완성하지 못하면 손해 배상을 해야 하므로 남은 일의 작업량을 숫자로 매기고 배상 비용을 최소화하는 방법을 찾으려고 합니다. 배상 비용은 각 선박의 완성까지 남은 일의 작업량을 제곱하여 모두 더한 값이 됩니다. 조선소에서..
Heap 이진 트리(Binary Tree) 형태를 가지며 우선순위가 높은 요소가 먼저 나가기 위해 요소가 삽입, 삭제될 때 바로 정렬되는 특징을 가짐 Heap에는 루트가 가장 큰 값이 되는 최대 힙(Max Heap)과 루트가 가장 작은 값이 되는 최소 힙(Min Heap)이 있다. 일반적으로 배열(array)를 활용해 구현한다. Heap - 요소 추가 알고리즘 ①: Heap에 요소가 추가될 때는 트리의 가장 마지막 정점에 위치시킨다. ②: 요소를 추가한 후 부모 정점보다 우선순위가 높다면 부모 정점과 순서를 바꾼다. ①번 ②번 과정을 반복하면 가장 우선순위가 높은 정점이 루트가 된다. 위의 알고리즘을 javascript 코드로 구현하면 아래와 같다. // javascript로 구현한 // Heap 요소 ..
Problem. 베스트앨범 Link. https://school.programmers.co.kr/learn/courses/30/lessons/42579 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Problem. 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다: 1. 속한 노래가 많이 재생된 장르를 먼저 수록합니다. 2. 장르 내에서 많이 재생된 노래를 먼저 수록합니다. 3. 장르 내에서 재생 횟수가 같은 노래 중에서는 고유 번호가..