일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- React #Web #프런트엔드
- SSAFY
- 모던자바스크립트
- RPA
- dfs
- 백준
- Python
- 알고리즘
- 로보어드바이저
- 스택
- pyhton
- Algorithm
- 파이썬
- BFS
- 프로그래머스
- algoritms
- Ai
- 자바스크립트
- JavaScript
- 혁신금융서비스
- programmers
- 자료구조
- 일임형
- 신한투자증권
- JS
- 큐
- BAEKJOON
- algorithms
- frontend
- 자문형
- Today
- Total
목록Algorithms (26)
Step by Step
힙(heap)힙 생성, 원소 추가, 삭제파이썬 heqpq 모듈은 heapq (priority queue) 알고리즘을 제공한다.import heapq# 빈 리스트에 heap 형식으로 추가heap = []heapq.heappush(heap, 50) # 빈 heap에 50 추가heapq.heappush(heap, 10)heapq.heappush(heap, 20)# 리스트를 heap으로 변환하기heap2 = [50 ,10, 20]heapq.heapify(heap2)# heap에서 원소 삭제result = heapq.heappop(heap) 최대 힙 만들기문제를 풀다보면 최솟값을 찾는 문제도 있지만 최댓값을 찾는 유형도 꽤 있다.이때 최대 힙을 만드는 방법을 알고 있다면 수월하게 문제를 풀 수 있다.heap_it..
문제 링크https://www.acmicpc.net/problem/2473 문제 이해이분 탐색 문제이다.처음에는 왼쪽 포인터와 오른쪽 포인터를 설정한 후 가운데 값에서 나머지 한 값을 찾으려고 했다.하지만 전체 범위를 0부터 (n-2)로 지정한 후 처음 i 값에서 1을 더한 값을 왼쪽 포인터로 두고 n-1을 오른쪽 포인터로 둔다. 🎱 범위가 n-2인 이유 => 왼쪽 포인터와 오른쪽 포인터를 포함해야 하므로 마지막 인덱스 값을 n-2로 두어야 왼쪽 포인터, 오른쪽 포인터 각 1개씩 설정할 수 있기 때문이다. 가장 왼쪽 값을 now_val = liquid[i]로 지정해둔 후 왼쪽 포인터를 i+1, 오른쪽 포인터를 n-1로 설정한다.값이 0보다 크면 right_p를 -1하고 값이 0보다 작으면 le..
선택정렬을 구현하는 데 짝꿍과 5분씩 번갈아가며 코드를 쳤다.지난번 페어프로그래밍은 하면 안되지만 구글링(?)도 조금 섞었는데,,이번에는 하고 싶은대로 그냥 돌아가기만 하면 되는 코드를 작성했다. 그 결과def solution(array): new_array = [] for i in range(len(array)): min_ = array.index(min(array[i:])) array[i] , array[min_] = array[min_],array[i] return array 짝꿍과 한 얘기는 시간은 오래걸리지만 가독성은 좋은 코드로 컨셉을 정했다.다른 사람들의 코드를 보니 for 문을 두번씩 사용했는데 그런 방법으로 하는..
문제 링크 https://www.acmicpc.net/problem/11286 11286번: 절댓값 힙 첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 문제 설명 절댓값 힙은 다음과 같은 연산을 지원하는 자료구조이다. 배열에 정수 x (x ≠ 0)를 넣는다. 배열에서 절댓값이 가장 작은 값을 출력하고, 그 값을 배열에서 제거한다. 절댓값이 가장 작은 값이 여러개일 때는, 가장 작은 수를 출력하고, 그 값을 배열에서 제거한다. 프로그램은 처음에 비어있는 배열에서 시작하게 된다. 입력 첫째 줄에 연산의 개수 N(1≤N..