일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Stack
- Growth hacking
- join
- coding test
- coding
- hackerrank
- level4
- counter
- 코테
- Queue
- import re
- lv4
- collections
- itertools
- 코딩
- 조합
- mysql
- 완전탐색
- time complexity
- cte
- Level2
- 코딩테스트
- 파이썬
- 프로그래머스
- tableau
- AARRR
- sql
- programmers
- lambda
- python
- Today
- Total
목록Queue (7)
ror_coding
문제에서 요구한 풀이 방식을 따라서 풀자. Question "균형잡힌 괄호 문자열" p가 매개변수로 주어질 때, 주어진 알고리즘을 수행해 "올바른 괄호 문자열"로 변환한 결과를 return 하도록 solution 함수를 완성해 주세요.1. 입력이 빈 문자열인 경우, 빈 문자열을 반환합니다. 2. 문자열 w를 두 "균형잡힌 괄호 문자열" u, v로 분리합니다. 단, u는 "균형잡힌 괄호 문자열"로 더 이상 분리할 수 없어야 하며, v는 빈 문자열이 될 수 있습니다. 3. 문자열 u가 "올바른 괄호 문자열" 이라면 문자열 v에 대해 1단계부터 다시 수행합니다. 3-1. 수행한 결과 문자열을 u에 이어 붙인 후 반환합니다. 4. 문자열 u가 "올바른 괄호 문자열"이 아니라면 아래 과정을 수행합니다..
첫 Heap 문제 ! 우선순위큐 ! 너무 유용하고 빠르고 편하고 좋다 ^^.. Question Leo는 모든 음식의 스코빌 지수가 K 이상이 될 때까지 반복하여 섞습니다. Leo가 가진 음식의 스코빌 지수를 담은 배열 scoville과 원하는 스코빌 지수 K가 주어질 때, 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 섞어야 하는 최소 횟수를 return 하도록 solution 함수를 작성해주세요.모든 음식의 스코빌 지수를 K 이상으로 만들 수 없는 경우에는 -1을 return 합니다. Point heapq를 이용하여 작은 값 두 개 m1, m2 뽑고 가장 작은 m1이 K보다 크다면 return.마지막에 모든 음식이 K 이상인지 확인하고 아니라면 -1 return. Code import heapqd..
heapq 는 "우선순위 큐(Priority Queue)"를 구현하는 데 유용함. 우선순위 큐 ) 항목의 우선순위에 따라 처리되는 데이터 구조.따라서 가장 작은(또는 가장 큰) 항목을 우선적으로 처리하는데 사용됨.ex) 작업 스케줄링, 다익스트라 알고리즘(Dijkstra's algorithm) 등. import heapqheapq.heapify(l1) # => 자동 정렬된 list(heap)가 됨. # O(n)# 1. 삽입/추출heapq.heappush(lst, 0) # O(log n)= heapq.heappop(lst) # O(log n)# 2. 삽입+추출= heapq.heappushpop(lst, 0) # O(log n) # 삽입 후, 바로 최솟값 추출.= heapq.heapreplace(lst, i..
BFS 문제... queue를 이용해서 구현한다 !어려웠지만 BFS를 배우기 매우 유용했던 문제 !!! Question 게임 맵의 상태 maps가 매개변수로 주어질 때, 캐릭터가 상대 팀 진영에 도착하기 위해서 지나가야 하는 칸의 개수의 최솟값을 return 하도록 solution 함수를 완성해주세요. 단, 상대 팀 진영에 도착할 수 없을 때는 -1을 return 해주세요. Point(어떤 분께서 댓글로 DFS/BFS의 차이에 대해 야무진 설명을...) DFS : 성공이든 실패든 끝까지 한 경로만 조짐BFS : 여러 경로를 한 단계씩 검색 -> 짧은 경로가 가장 먼저 도달함 Code from collections import dequedef solution(maps): x, y = 1, 1 a..
from collections import deque를 사용하여 우선 순위를 제거 !now에 넣어서 비교하고 다시 queue 뒤에 넣는 방법 생각을 못 했다..! Question 현재 실행 대기 큐(Queue)에 있는 프로세스의 중요도가 순서대로 담긴 배열 priorities와, 몇 번째로 실행되는지 알고싶은 프로세스의 위치를 알려주는 location이 매개변수로 주어질 때, 해당 프로세스가 몇 번째로 실행되는지 return 하도록 solution 함수를 작성해주세요. Point index를 번호를 부여.if 문 ) queue의 맨 앞을 now로 넣고 now의 값과 queue안에 있는 모든 값들 중 어느 하나라도 now 값보다 크면 다시 queue 맨 뒤에 추가함. ( cycle처럼 도는 느낌 )else..
from collections import dequeStack (스택)Queue (큐) from collections import dequeq = deque([1,2,3], maxlen = 5) # 크기 고정.# 추가.q.append(4) # [1,2,3,4]q.appendleft(0) # [0,1,2,3,4]# 제거 ( = 쓰면 제거된 값을 반환)q.pop() # [0,1,2,3]q.popleft() # [1,2,3]# 확장q.extend([4,5]) # [1,2,3] => [1,2,3,4,5]q.extendleft([4,5]) # [1,2,3] => [5,4,1,2,3]# 회전q.rotate(1) # [1,2,3] => [3,1,2]