반응형

2021/02 35

[알고리즘] 이것이 취업을 위한 코딩 테스트다 with 파이썬 - 럭키 스트레이트

이것이 취업을 위한 코딩 테스트다 with 파이썬 - 럭키 스트레이트 url: https://www.acmicpc.net/problem/18406 내 풀이 import sys input = sys.stdin.readline n = input().rstrip('\n') li = list(n) mid = (len(n)-1)//2 left_side = li[:mid+1] right_side = li[mid+1:] left_sum = 0 right_sum = 0 for i in range(mid+1): left_sum += int(left_side[i]) right_sum += int(right_side[i]) if left_sum == right_sum: print("LUCKY") else: p..

[Python] bisect (이진 탐색)

[Python] bisect (이진 탐색) bisect 라이브러리는 '정렬된 배열'에서 특정한 원소를 찾아야 할 때 매우 효과적으로 사용된다. bisect의 두 가지 메서드 bisect_left(a, x): 정렬된 순서를 유지하면서 리스트 a에 데이터 x를 삽입할 가장 왼쪽 인덱스를 찾는 메서드 bisect_right(a, x): 정렬된 순서를 유지하면서 리스트 a에 데이터 x를 삽입할 가장 오른쪽 인덱스를 찾는 메서드 예시 예를 들어 정렬된 리스트 a = [1, 2, 4, 4, 8]이 있을 때, 새롭게 데이터 4를 삽입하려 한다고 가정하자. 이때 bisect_left(a, 4)와 bisect_right(a, 4)는 각각 인덱스 값으로 2와 4를 반환한다. 소스코드 예시 from bisec..

[Python] heapq (최소힙, 최대힙)

[Python] heapq (최소힙 & 우선순위 큐) 파이썬의 힙은 최소 힙으로 구성되어 있고 단순히 원소를 힙에 전부 넣었다가 빼는 것만으로도 시간 복잡도 O(NlogN)에 오름차순 정렬이 완료된다. heapq 내부 메서드 heapq.heappush(): 원소 삽입 heapq.heappop() : 원소 꺼내기 heapq 예시 # 힙 정렬을 heapq로 구현하는 예제 import heapq def heapsort(iterable): h = [] result = [] # 모든 원소를 차례대로 힙에 삽입 for value in iterable: heapq.heappush(h, value) # 힙에 삽입된 모든 원소를 차례대로 꺼내어 담기 for i in range(len(h)): result.append(h..

[Python] permutations & combinations (순열과 조합)

[Python] permutations & combinations (순열과 조합) itertools: 파이썬에서 반복되는 데이터를 처리하는 기능을 포함한 라이브러리 코테에서 유용한 클래스 2가지 permutations(순열) combinations(조합) permutations 예시 >>> from itertools import permutations >>> data = ['a', 'b', 'c'] >>> result = list(permutations(data, 3)) >>> print(result) [('a', 'b', 'c'), ('a', 'c', 'b'), ('b..

반응형