일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- coding
- 코테
- 조합
- sql
- BFS
- join
- level4
- import re
- Stack
- time complexity
- collections
- 시간복잡도
- coding test
- lambda
- lv4
- 프로그래머스
- 파이썬
- Queue
- mysql
- 연습문제
- 완전탐색
- programmers
- counter
- 코딩
- python
- 데이터분석
- itertools
- CodingTest
- Level2
- 코딩테스트
- Today
- Total
목록시간복잡도 (4)
ror_coding
시간복잡도 줄이는 코드가 필요하다 ! 따라서 stack을 사용하기 ! Question 정수로 이루어진 배열 numbers가 있습니다. 배열 의 각 원소들에 대해 자신보다 뒤에 있는 숫자 중에서 자신보다 크면서 가장 가까이 있는 수를 뒷 큰수라고 합니다. 정수 배열 numbers가 매개변수로 주어질 때, 모든 원소에 대한 뒷 큰수들을 차례로 담은 배열을 return 하도록 solution 함수를 완성해주세요. 단, 뒷 큰수가 존재하지 않는 원소는 -1을 담습니다. Code def solution(numbers): answer = [-1]*len(numbers) stack = [] for idx, num in enumerate(numbers): while stack and num..
for 문 하나를 써도 index() 연산으로 시간 복잡도는 O(n*m)로 이중 for문과 같다. Question 머쓱이의 컴퓨터 바탕화면의 상태를 나타내는 문자열 배열 wallpaper가 매개변수로 주어질 때 바탕화면의 파일들을 한 번에 삭제하기 위해 최소한의 이동거리를 갖는 드래그의 시작점과 끝점을 담은 정수 배열을 return하는 solution 함수를 작성해 주세요. 드래그의 시작점이 (lux, luy), 끝점이 (rdx, rdy)라면 정수 배열 [lux, luy, rdx, rdy]를 return하면 됩니다. Code 1 : 이중 for 문Time Complexity : O(n*m)def solution(wallpaper): x = [] y = [] for idxY,i ..
collections Library 불러오기.from collections import Counter Counter를 적용한 data.data = [1,4,2,2,3,3,5,5]data = Counter(data) # O(n) 1. most_common() : 빈도 순으로 정렬하여 출력.for item, count in data.most_common(): # O(n log n) print(item, count)Element: 3, Count: 2 Element: 2, Count: 2 Element: 5, Count: 2 Element: 1, Count: 1 Element: 4, Count: 1 2. elements() : 각 요소를 해당 카운트만큼 반복해서 반환하는 iterater. (0 or 음수..
시간 초과로 stack 이용해서 O(n)로 풀기. Question 상수에게 전해지는 재료의 정보를 나타내는 정수 배열 ingredient가 주어졌을 때, 상수가 포장하는 햄버거의 개수를 return 하도록 solution 함수를 완성하시오. Code : Time Complexity O(n) def solution(ingredient): answer = 0 stack = [] for i in ingredient: # O(n) stack.append(i) # O(1) if stack[-4:] == [1,2,3,1] : answer += 1; del stack[-4:] # O(1) return answer Code 2 : Time Complexi..