일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Brute Force
- 타겟 넘버
- react
- react-native bind
- 디스크 컨트롤러
- Algorithm
- Javascript
- hash
- 가장 큰 수
- Queue
- browser workflow
- 이중우선순위큐
- 기능개발
- Stack
- react-native
- 다리를 지나는 트럭
- 깊이우선탐색
- 더 맵게
- Data Structure
- heap
- 소수찾기
- react-native-navigation
- Virtual DOM
- sorting
- 넓이우선탐색
- 완주하지 못한 선수
- k번째수
- 주식
- 전화번호 목록
- Programmers
- Today
- Total
목록Javascript (16)
개발 블로그
1. 문제설명(출처: programmers.co.kr/learn/courses/30/lessons/42748) 2. 문제풀이 1) 결과 값을 저장할 배열 answer을 만든다. 2) commends에 있는 각 요소들을 commend라고 정의하고 아래의 명령을 수행한다. 2-1) array에서 commend[0] - 1 부터 commend[1] 까지의 숫자를 꺼내 list에 저장한다. 2-2) list를 정렬한 뒤, commend[2] - 1번째 숫자를 꺼낸 뒤, selectedNumber에 저장한다. 2-3) selectedNumber를 answer에 저장한다. 3) answer를 반환한다. 3. 결과코드 function solution(array, commands) { var answer = []; f..
1. 문제설명(출처: programmers.co.kr/learn/courses/30/lessons/42587) 2. 문제풀이 1) 문제에서 내가 인쇄를 요청한 문서가 몇 번째로 인쇄되는지 알고 싶습니다. 라고 했으니, 해당 문서의 위치(location)에 표시를 하기 위해 [[1번 문서의 중요도, 요청한 문서 여부], [2번 문서의 중요도, 요청한 문서 여부], ... , [n번 문서의 중요도, 요청한 문서 여부]] 와 같은 형식의 q라는 queue를 만든다. 2) 몇번 인쇄가 됐는지 확인하기 위한 변수 cnt를 생성한다. 3) 아래 명령을 반복한다. 3-1) q 에서 맨 앞의 요소를 꺼내 cur에 저장한다. 3-2) 현재 q안에 cur보다 중요도가 높은 문서가 있는지 확인한다. 3-2-t) 만약 있다면..
1. 문제설명(출처: programmers.co.kr/learn/courses/30/lessons/42586) 2. 문제풀이 1) 시간 순서에 따라서 배포되는 기능의 갯수를 저장하기 위해 answer이라는 stack을 생성한다. 2) 개발중인 기능의 갯수만큼 아래의 명령을 반복한다. 2-1) 배포할 기능의 갯수를 저장할 cnt 변수를 생성한다. 2-2) 각각의 기능에 대하여 개발 속도만큼 개발을 진행한다. 2-3) 먼저 배포되어야할 기능이 배포준비가 완료되었다면, 아직 배포준비가 안된 기능이 나올 때까지 아래의 명령을 반복한다. 2-3-1) 현재 작업을 배포한다. 2-3-2) 현재 작업을 종료한다.(더 이상 개발하지 않음) 2-3-3) 배포할 기능의 갯수에 1을 더해준다. 2-4) 배포할 기능이 있는지 ..
1. 서론 위 문제는 brute force를 사용하면 이중 루프를 통해서 쉽게 해결할 수 있지만, stack / queue 문제로 분류된 만큼 stack을 사용해서 문제를 풀었다. 2.문제설명(출처: programmers.co.kr/learn/courses/30/lessons/42584) 3. 문제풀이 1) 시간을 측정할 answer의 길이를 prices와 동일하게 맞춘다. 2) stack으로 사용할 배열을 생성한다. 3) 모든 prices에 대하여 아래 명령을 반복한다. 3-1) 최초의 경우(stack이 비어있는 경우) 이거나 주식 가격이 떨어졌다면, 아래 명령을 반복한다. 3-1-1) 주식 값이 떨어지기 이전 시간을 stack에서 가져온 뒤 t에 저장한다. 3-1-2) 현재 시간 - t를 answer..
1. 서론 위 문제는 스택 / 큐로 분류로 분류되어 있으며, 큐를 이용해 문제를 풀었다. 2. 문제설명(출처: programmers.co.kr/learn/courses/30/lessons/42583) 3. 문제풀이 1) 문제에서 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 라고 하였으니 트럭이 다리에 올라갔을 때, 트럭을 queue에 넣고 트럭이 지나갔다면 queue에서 빼는 방식을 사용한다. 2) 우선 현재 다리에 트럭이 있는지 확인한다. 다리에 트럭이 있다면 트럭이 다리를 얼마나 지났는지 확인한다. 만약 다리를 모두 건넜다면, 다리에 걸리는 하중에서 해당 트럭의 무게를 빼준다. 3) 현재 다리 위에 있는 모든 트럭의 시간을 +1 해준다. 4) 현재 다리 위에 걸린 하중 + 새..
1. 서론 위 문제는 Heap으로 분류되어 있으나, javascript 에서는 Heap에 대한 라이브러리가 존재하지 않기때문에 직접 구현해야한다. heap에 대한 코드는 이전에 작성한 jun0127.tistory.com/11 에 있는 코드를 그대로 사용하였다. 2. 문제설명(출처: programmers.co.kr/learn/courses/30/lessons/42628) 3. 문제 풀이 1) operations의 명령어에 따라 I가 나오면 우선순위 큐에 해당 데이터 값을 enqueue한다. 2) 사전에 구현된 heap 코드는 min heap이기 때문에 D 1 명령어가 나오면 min heap을 max heap으로 변경하고 다시 min heap상태로 되돌린다. 3) D -1 명령어가 나오면 heap이 항상 m..
1. 서론 위 문제는 Heap으로 분류되어 있으나, javascript 에서는 Heap에 대한 라이브러리가 존재하지 않기때문에 직접 구현해야한다. heap에 대한 코드는 이전에 작성한 jun0127.tistory.com/11 에 있는 코드를 그대로 사용하였다. 2. 문제 설명(출처: programmers.co.kr/learn/courses/30/lessons/42627) 3. 문제 풀이 1) 하드 디크스가 작업을 수행하고 있지 않을 때는 먼저 요청이 들어온 작업부터 처리합니다. 라고 하였으니 jobs를 시간 순서대로 먼저 정렬해준다. 2) 작업을 수행하고 있을 때, 들어온 순서대로 작업하면 최소시간을 보장하지 못한다. 따라서 우선순위 큐에 시간 순서대로 작업을 enqueue 해야한다. 3) 최초의 작업이..
1. Heap이란? - 최댓값 또는 최솟값을 빠르게 찾아내기 위해 고안된 완전 이진트리를 기반으로 하는 자료구조이다. - Heap은 이진트리라는 특성 덕분에 반 정렬상태를 유지한다. - 부모 노드의 값이 자식 노드의 값보다 항상 크거나(Max heap) 작은(Min heap) 이진 트리를 말한다. - 즉, 값의 대소관계는 오로지 부모노드와 자식노드 간에만 성립하며, 특히 형제 사이에는 대소관계가 정해지지 않는다. - 힙에서는 가장 높은(혹은 가장 낮은) 값을 가지는 노드가 항상 Root 노드에 오게 되는 특징이 있으며, 이를 응용하면 우선 순위 큐와 자료형을 구현할 수 있다. 2. Heap의 종류 - Max heap - 부모 노드의 값이 자식 노드의 값보다 크거나 같은 완전 이진트리 - Min heap ..