algorithm 46

프로그래머스/힙/더 맵게

https://programmers.co.kr/learn/courses/30/lessons/42626 솔직히 파이썬 아니고 heapq 구현하라고 했으면 못 풀었을 것 같다. python 내장 모듈 heapq는 min heap 이고 scoville[0]은 항상 최소값이다. level2 import heapq def solution(scoville, K): answer = 0 heapq.heapify(scoville) while scoville[0] < K: if len(scoville) < 2: return -1 one = heapq.heappop(scoville) # logN two = heapq.heappop(scoville) heapq.heappush(scoville,one+two*2) answer+..

algorithm/python 2020.03.07

프로그래머스/정렬/가장 큰 수 [실패]

아ㅏㅏㅏ 모르겠다. 아무리 해도 시간초과 뜨자너 https://programmers.co.kr/learn/courses/30/lessons/42746 level2 def solution(arr): if sum(arr) == 0: return '0' answer = '' arr = list(map(str, arr)) arr = sorted(arr, sort, reverse=True) for i in range(len(arr)-1): if len(arr[i]) != len(arr[i+1]): n1 = arr[i] + arr[i+1] n2 = arr[i+1] + arr[i] if n1 >= n2: answer = answer + arr[i] else: arr[i], arr[i+1] = arr[i+1], arr..

algorithm/python 2020.03.06

프로그래머스/해시/완주하지 못한 선수

프로그래머스 코딩테스트 문제를 풀고 있다. https://programmers.co.kr/learn/courses/30/parts/12077 level1 def solution(participant, completion): participant.sort() completion.sort() for i in range(0, len(completion)): if participant[i] != completion[i]: return participant[i] return participant[len(participant)-1] 2021.12.09 추가 Counter를 사용하면 객체간의 빼기가 가능하다. - Counter를 사용한 문제풀이 import collections def solution(particip..

algorithm/python 2020.03.05

정렬 Sort 알고리즘 구현

5가지 sort python으로 구현 SelectionSort, InsertionSort, BubbleSort, MergeSort, QuickSort #-*- coding: utf-8 -*- def selectionSort(arr): """ 시간 O(n^2) 공간 O(n) (현재위치에 값을 찾음) 정렬되지 않은 리스트를 첫번째 index에서부터 시작 해당 index값을 포함하여 그 뒤 값들과 비교하고 최소값과 위치를 바꾼다. (swap) """ for i in range(len(arr) - 1): min_idx = i for j in range(i + 1, len(arr)): if arr[j] < arr[min_idx]: min_idx = j arr[i], arr[min_idx] = arr[min_idx..

algorithm/common 2020.03.05