본문 바로가기
반응형

전체 글96

heapq 파이썬의 heap은 힙(heap) 자료구조를 구현하기 위한 모듈인 heapq를 말합니다. 힙은 최댓값 또는 최솟값을 빠르게 찾아내기 위해 설계된 특별한 이진 트리 자료구조입니다. heapq 모듈을 사용하면 리스트를 힙으로 변환하고, 힙에 새로운 요소를 추가하거나 요소를 삭제하는 등의 힙 관련 연산을 수행할 수 있습니다. 이를 통해 최솟값 또는 최댓값을 효율적으로 관리할 수 있습니다. 파이썬의 heapq 모듈은 리스트를 힙으로 다루기 때문에 리스트의 인덱스를 이용하여 힙 내의 요소에 접근할 수 있습니다. 힙은 일반적으로 최소 힙(min heap)으로 구현되어 있어 가장 작은 요소가 항상 루트에 위치하게 됩니다. 최소 힙에서는 루트에 위치한 요소가 최솟값이 되며, 힙 내의 다른 요소들도 일정한 순서를 유지하.. 2023. 6. 14.
filter filter 함수는 주어진 함수를 이용하여 iterable에서 조건을 만족하는 요소들로 구성된 새로운 iterable을 생성하는 파이썬 내장 함수입니다. filter 함수는 두 개의 인자를 받습니다. 첫 번째 인자로는 조건을 판단하는 함수(혹은 None)를, 두 번째 인자로는 조건을 검사할 iterable을 전달합니다. filter 함수는 iterable의 각 요소에 대해 조건 함수를 호출하고, 조건 함수가 참(True)을 반환하는 요소만 필터링하여 새로운 iterable을 반환합니다. 일반적으로 filter 함수는 람다 함수와 함께 사용됩니다. 람다 함수는 간단한 익명 함수를 만들 수 있는 방법으로, filter 함수와 함께 사용하기에 편리합니다. 아래는 filter 함수의 사용 예시입니다: # 리스트.. 2023. 6. 14.
any any() 함수는 iterable(반복 가능한)한 객체의 요소 중에서 하나 이상이 True로 평가되는지 확인하는 데 사용됩니다. any() 함수는 논리 연산자 or와 유사한 동작을 수행합니다. any() 함수의 구문은 다음과 같습니다: any(iterable) iterable: 검사할 요소들의 집합으로, 반복 가능한 객체가 될 수 있습니다. 예를 들어 리스트, 튜플, 집합(set), 딕셔너리의 키 등이 사용될 수 있습니다. any() 함수는 iterable 객체의 요소를 순회하면서 하나 이상의 요소가 True로 평가되는 경우 True를 반환하고, 모든 요소가 False로 평가되는 경우에만 False를 반환합니다. # 리스트의 요소 중에서 0이 아닌 값이 존재하는지 확인 my_list = [0, 0, 0,.. 2023. 6. 14.
append() 와 extend() 의 차이 append()와 extend()는 파이썬 리스트(List)에 새로운 요소를 추가하는 데 사용되는 메서드입니다. 주요한 차이점은 다음과 같습니다: append() 메서드: append() 메서드는 리스트에 하나의 요소를 추가합니다. 인자로 전달된 요소를 리스트의 맨 뒤에 추가합니다. 추가되는 요소는 그대로 하나의 요소로 리스트에 포함됩니다. my_list = [1, 2, 3] my_list.append(4) print(my_list) # 출력: [1, 2, 3, 4] extend() 메서드: extend() 메서드는 리스트에 여러 개의 요소를 추가합니다. 인자로 전달된 요소들을 리스트의 각 요소로 분리하여 추가합니다. 추가되는 요소들은 개별적인 요소로서 리스트에 추가됩니다. my_list = [1, 2,.. 2023. 6. 14.
deque deque는 파이썬의 내장 모듈인 collections 모듈에 있는 클래스로, 양쪽 끝에서의 빠른 추가 및 삭제 연산이 가능한 큐(Queue)와 스택(Stack)의 기능을 모두 제공하는 자료구조입니다. deque는 "double-ended queue"의 약자로, 리스트(List)와 유사하지만 리스트보다 효율적인 연산을 수행할 수 있습니다. deque는 맨 앞과 맨 뒤에서의 요소 추가 및 삭제가 O(1)의 시간 복잡도로 가능하며, 리스트의 인덱스에 따른 접근도 가능합니다. 아래는 deque의 주요 기능과 사용법을 간단한 예시와 함께 설명한 코드입니다: from collections import deque # 빈 deque 생성 my_deque = deque() # 오른쪽에 요소 추가 my_deque.app.. 2023. 6. 14.
zip Python의 zip은 여러 개의 iterable 객체를 묶어주는 함수입니다. 주어진 iterable들로부터 각각의 요소들을 순서대로 묶어 튜플로 반환합니다. zip은 가장 짧은 iterable이 모두 소진되었을 때 멈추게 됩니다. zip 함수는 다음과 같은 형식으로 사용합니다: zip(*iterables) 여기서 iterables은 묶을 iterable 객체들을 의미합니다. zip 함수는 iterables에 전달된 각각의 iterable 객체로부터 같은 인덱스의 요소들을 묶어서 튜플로 반환합니다. 예시를 통해 zip 함수를 이해해 보겠습니다. names = ['Alice', 'Bob', 'Charlie'] ages = [25, 30, 35] scores = [90, 85, 95] zipped = zip.. 2023. 6. 14.
reduce reduce 함수는 파이썬의 내장 함수로, iterable(반복 가능한) 객체의 요소를 반복적으로 결합하여 단일 값으로 줄이는 기능을 제공합니다. reduce 함수는 functools 모듈에 속해 있으므로, functools.reduce 형식으로 import 해야 합니다. reduce 함수는 다음과 같은 구문을 가집니다: reduce(function, iterable[, initializer]) function: 반복 가능한 객체의 요소를 결합하는 데 사용되는 함수입니다. 이 함수는 두 개의 인수를 받아야 합니다. 첫 번째 인수는 누적 값(accumulate value), 두 번째 인수는 현재 요소의 값입니다. iterable: 값을 줄이는 대상이 되는 반복 가능한 객체입니다. initializer (선.. 2023. 6. 14.
Counter Python의 Counter는 컨테이너에 있는 요소들의 개수를 셀 때 사용하는 딕셔너리의 서브클래스입니다. Counter는 collections 모듈에 포함되어 있으며, 리스트, 문자열, 튜플 등과 같은 iterable 객체를 입력으로 받아 각 요소의 개수를 세는 기능을 제공합니다. Counter 객체를 생성하려면 iterable 객체를 인자로 전달하면 됩니다. 예를 들어, 다음과 같이 사용할 수 있습니다. from collections import Counter # 리스트를 입력으로 받아 Counter 객체 생성 lst = [1, 2, 3, 2, 1, 3, 3, 4, 5, 4, 4] counter = Counter(lst) print(counter) # 출력: Counter({3: 3, 4: 3, 1:.. 2023. 6. 14.
[프로그래머스] 코딩테스트 연습 > 해시 > 의상 #42578 프로그래머스 코딩 테스트 연습 문제를 ChatGPT에게 물어보았습니다. 문제는 https://school.programmers.co.kr/learn/courses/30/lessons/42578 를 참조하세요. [Python] from collections import defaultdict def solution(clothes): counts = defaultdict(int) for _, category in clothes: counts[category] += 1 answer = 1 for count in counts.values(): answer *= count + 1 return answer - 1 위 코드에서 counts는 의상 종류별로 개수를 저장하는 딕셔너리입니다. defaultdict(int)를.. 2023. 6. 14.
[MySQL] OVER OVER Clause ; The OVER clause in MySQL is used with the PARTITION BY clause to break the data into partitions. Following is the syntax of the OVER clause in MySQL. OVER ( [ ] [ ] [ ] ) 프로그래머스의 SQL 고득점 Kit에 출제된 문제의 My SQL 솔루션 중 하나입니다. (문제 참조는 https://school.programmers.co.kr/learn/courses/30/lessons/131124) SELECT MEMBER_NAME, REVIEW_TEXT, DATE_FORMAT(REVIEW_DATE, "%Y-%m-%d") AS REVIEW_DATE FROM .. 2023. 6. 13.
반응형