본문 바로가기

코딩테스트 준비

(48)
Java Tree 자료구조, 순회
(개선된)다익스트라 알고리즘
크루스칼 알고리즘 - 최소 스패닝 트리 간선들을 가중치를 기준으로 오름차순으로 정렬 가중치가 작은 간선들부터 확인하면서 사이클이 발생하지 않으면 더해줌.
백준 알고스팟 - 우선순위 큐, 너비우선탐색
백준 - 유기농 배추 - bfs
백준 최대 힙, 절댓값 힙 - heapq 사용, 파이썬 파이썬 내장모듈 heapq는 기본적으로 최소힙을 제공한다. 즉 queue에 원소들은 push한 후 pop을 했을 때 작은 값부터 나온다는 뜻이다. 해당 문제는 자연수 기준이므로 숫자를 음수로 바꾼 뒤 push하고, pop한 후 다시 -를 붙여주면 큰 수부터 출력할 수 있게 된다. 절댓값 힙은 절댓값과 본값을 가지는 튜플로 heapq를 수행한다. 튜플은 첫번째 원소를 기준으로 정렬되므로 절댓값으로 정렬 후 출력은 두번째 원소를 해주면 된다.
백준 최대 힙, 절댓값 힙 - heapq 사용, 파이썬 파이썬 내장모듈 heapq는 기본적으로 최소힙을 제공한다. 즉 queue에 원소들은 push한 후 pop을 했을 때 작은 값부터 나온다는 뜻이다. 해당 문제는 자연수 기준이므로 숫자를 음수로 바꾼 뒤 push하고, pop한 후 다시 -를 붙여주면 큰 수부터 출력할 수 있게 된다. 절댓값 힙은 절댓값과 본값을 가지는 튜플로 heapq를 수행한다. 튜플은 첫번째 원소를 기준으로 정렬되므로 절댓값으로 정렬 후 출력은 두번째 원소를 해주면 된다.
파이썬 itertools permutations! permutation= 순열 import itertools n = int(input()) arr = [i for i in range(1, n+1)] t = itertools.permutations(arr, n) for i in t: print(*i) # 3 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 itertools 라이브러리의 permutations()를 사용하여 해당 리스트, 문자열의 원소들로 만든 순열들을 튜플 형태로 얻을 수 있다.