일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 프로그래머스 #NULL 처리하기
- 그리디알고리즘 #그리디 #백준 #우선순위큐 #최소힙 #최대힙 #알고리즘 #코딩테스트 #python
- 카카오 #프로그래머스 #python #코딩테스트 #오픈채팅방
- 프로그래머스 #c++ #코딩테스트
- 카카오 코테
- 백준 #백준알고리즘 #알고리즘 #코딩테스트 #코딩테스트준비 #코테준비 #백준2110 #python #문제풀이
- 프로그래머스 #python #코딩테스트 #코테공부 #알고리즘 #dict
- 프로그래머스 #네트워크 #c++ #코딩테스트 #코테 #코테준비 #dfs
- 백준 #백준2217 #백준로프 #python
- 프로그래머스 #sql #mysql #코딩테스트
- 백준 #이거다시풀기
- 동
- 프로그래머스 #python #2021카카오 #카카오코테 #카카오인턴쉽
- Today
- Total
목록전체 글 (170)
say repository
최소 신장 트리 (MST)을 구할 경우1. 크루스칼 알고리즘 (union find 활용)2. 프림 알고리즘 프림 알고리즘1. 우선순위 큐 ( heapq ) 활용2. 우선순위 큐에 (가중치, 시작점) push3. 간선-1 만큼 우선순위큐 popimport heapq# MST (최소 신장 트리 )# 1. 크루스칼 알고리즘 ( UNION FIND 알고리즘)# 2. 프림 알고리즘# 프림 알고리즘def prim(start): visited = [False]*(n+1) # 방문처리 sum_w = 0 # 우선순위큐 (가중치, 시작점) heap = [] heapq.heappush(heap,(0,start)) cnt = 0 while heapq and cnt
https://www.acmicpc.net/problem/1197 문제그래프가 주어졌을 때, 그 그래프의 최소 스패닝 트리를 구하는 프로그램을 작성하시오.최소 스패닝 트리는, 주어진 그래프의 모든 정점들을 연결하는 부분 그래프 중에서 그 가중치의 합이 최소인 트리를 말한다.입력첫째 줄에 정점의 개수 V(1 ≤ V ≤ 10,000)와 간선의 개수 E(1 ≤ E ≤ 100,000)가 주어진다. 다음 E개의 줄에는 각 간선에 대한 정보를 나타내는 세 정수 A, B, C가 주어진다. 이는 A번 정점과 B번 정점이 가중치 C인 간선으로 연결되어 있다는 의미이다. C는 음수일 수도 있으며, 절댓값이 1,000,000을 넘지 않는다.그래프의 정점은 1번부터 V번까지 번호가 매겨져 있고, 임의의 두 정점 사이에 경로가..
유니온 파인드란?유니온 파인드는 그래프 알고리즘으로 두 노드가 같은 그래프에 속하는지 판별하는 알고리즘Union 연산 : 노드를 합친다. (루트 노드가 더 작은 노드로)Find 연산 : 노드의 루트노드 찾는다.Union - Find 과정1. parent [] 루트 노드를 가리키는 리스트 만들어 각 노드가 자신을 가리키도록 초기화2. union(1,2) 연산 -> 1과 2의 루트 노드를 찾는다.합칠 때는 루트 노드가 더 작은 쪽으로 합치며 노드 1이 루트 노드가 더 작기 때문에 parent 리스트에서 2의 루트 노드를 노드 1의 루트노드 1로 바꿔준다.# union find 알고리즘# find 연산 : 루트 노드 찾기def find(x): if parent[x] != x: parent[x..
https://programmers.co.kr/learn/courses/30/lessons/17680# 출처 : 프로그래머스 그래서 큐를 쓴다. 찾는 데이터가 캐시에 있으면 cache hit 없으면 cache miss가 발생한다. 다만 이 문제는 캐시사이즈가 0일 때도 있다. 캐시사이즈가 0이면 모든 데이터에서 miss 가 발생해서 데이터 길이 * 5를 리턴해주면 된다.
https://programmers.co.kr/learn/courses/30/lessons/42890 출처 : 프로그래머스 코딩테스트 연습 - 후보키 [["100","ryan","music","2"],["200","apeach","math","2"],["300","tube","computer","3"],["400","con","computer","4"],["500","muzi","music","3"],["600","apeach","music","2"]] 2 programmers.co.kr 코드 from itertools import combinations def solution(relation): row = len(relation) col = len(relation[0]) comb = [] # 모든 후보..

https://programmers.co.kr/learn/courses/30/lessons/12905 출처 : 프로그래머스 코딩테스트 연습 - 가장 큰 정사각형 찾기 [[0,1,1,1],[1,1,1,1],[1,1,1,1],[0,0,1,0]] 9 programmers.co.kr 코드 def solution(board): answer = 0 row = len(board) col = len(board[0]) for r in range(1,row): for c in range(1,col): if board[r][c] == 1: board[r][c] = min(board[r][c-1], board[r-1][c], board[r-1][c-1])+1 answer = max(answer, board[r][c]) for..
https://programmers.co.kr/learn/courses/30/lessons/17686# 출처 : 프로그래머스 코딩테스트 연습 - [3차] 파일명 정렬 파일명 정렬 세 차례의 코딩 테스트와 두 차례의 면접이라는 기나긴 블라인드 공채를 무사히 통과해 카카오에 입사한 무지는 파일 저장소 서버 관리를 맡게 되었다. 저장소 서버에는 프로그램 programmers.co.kr 코드 def solution(files): answer = [] for file in files: flag = False head = '' number = '' tail = '' for i in range(len(file)): if file[i].isdigit(): number += file[i] flag = True elif ..
https://programmers.co.kr/learn/courses/30/lessons/17683 출처: 프로그래머스 코딩테스트 연습 - [3차] 방금그곡 방금그곡 라디오를 자주 듣는 네오는 라디오에서 방금 나왔던 음악이 무슨 음악인지 궁금해질 때가 많다. 그럴 때 네오는 다음 포털의 '방금그곡' 서비스를 이용하곤 한다. 방금그곡에서는 TV, programmers.co.kr 코드 def change(melody): if 'A#' in melody: melody = melody.replace('A#','a') if 'C#' in melody: melody = melody.replace('C#','c') if 'D#' in melody: melody = melody.replace('D#','d') if ..