일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- react
- 디스크 컨트롤러
- react-native
- sorting
- Virtual DOM
- 다리를 지나는 트럭
- 깊이우선탐색
- 주식
- Stack
- Programmers
- 넓이우선탐색
- Brute Force
- react-native bind
- 기능개발
- 더 맵게
- Javascript
- 이중우선순위큐
- 가장 큰 수
- heap
- browser workflow
- 소수찾기
- Queue
- 타겟 넘버
- k번째수
- 완주하지 못한 선수
- 전화번호 목록
- Algorithm
- react-native-navigation
- hash
- Data Structure
- Today
- Total
목록Programmers (17)
개발 블로그
1. 문제풀이(출처: programmers.co.kr/learn/courses/30/lessons/42746) 2. 문제 풀이 1) 문제에서 정수를 이어 붙여 만들 수 있는 가장 큰 수 라고 하였으므로 numbers에 있는 모든 숫자를 String으로 형 변환한 뒤, list에 저장한다. 2) list에 있는 정수 String끼리 서로 이어 붙인 숫자를 number로 형 변환한 뒤, 이를 바탕으로 내림차순 정렬을 한다. 3) 0만 있는 경우를 제거하기 위해 list내의 가장 큰 숫자를 Number로 형변환한다. 만약 그 값이 0이 아니라면 list에 있는 모든 숫자를 붙여서 반환하고, 0이라면 0을 반환한다. 3. 결과 코드 function solution(numbers) { let list = numb..
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를 지원하지 않는 문제이기 때문에 python으로 문제를 풀었다. python은 heap에 대한 라이브러리로 heapq를 지원하기 때문에 heapq를 사용했다. 2. 문제설명(출처: programmers.co.kr/learn/courses/30/lessons/42626) 3. 문제 풀이 1) 문제에서 모든 음식의 스코빌 지수를 K이상으로 만들고 싶습니다. 라고 했기 때문에 스코빌 지수가 0인 경우 바로 0을 반환한다. 2) 문제에서 모든 음식의 스코빌 지수가 K 이상이 될 때까지 반복하여 섞습니다. 라고 하였으니 min heap을 사용해 root 노드와 root의 자식를 반복해서 섞는다. 3) 2번의 작업을 반복하기 ..
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..