컴퓨터 공부/🐍 Python 16

deque() vs deque([]), 뭐가 맞는 방식이지?

deque()는 python의 collections 모듈에 포함된 double-ended queue로, 양쪽에서 데이터를 효율적으로 추가하거나 제거할 수 있는 자료구조다. 일반 리스트보다 양쪽에서 데이터 추가/삭제가 더 빠르기 때문에, 시간복잡도가 O(1)인 특징이 있고, 양쪽에서 모두 작동 가능한 메서드를 제공하기도 한다.(appendleft(), popleft())from collections import dequedq = deque([1,2,3]) # 초기 값 설정dq.append(4) # 오른쪽에 추가dq.appendleft(0) # 왼쪽에 추가dq.pop() # 오른쪽에서 제거dq.popleft() # 왼쪽에서 제거print(dq) # deque([1,2,3])그런데 deque 을 초기화하는 과..

Rotating 2D matrix - 90, 180, 270

Python으로 2D 행렬을 90도, 180도, 270도 회전시키는 방법 알고리즘 문제를 풀 때, 행렬을 회전시켜야 하는 경우를 종종 마주한다. 특히 이미지 처리, 게임 개발, 데이터 분석 등에서 2D 행렬을 회전하는 작업은 매우 유용한데, 이번 포스팅에서는 Python으로 2차원 행렬을 90도, 180도, 270도(왼쪽으로 90도) 회전시키는 방법을 정리해보려고 한다. 1. 기본 개념 : 행렬의 회전2D 행렬이란 숫자 또는 다른 데이터로 이루어진 2차원 배열이다. 예를 들어, 다음과 같은 3x4 행렬이 있다고 가정해보자. - 초기 행렬(n=3,m=4)matrix = [ [1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]] - 90도 시계방향(clockwise)..

Python any(), all() 함수

Python에는 다양한 내장 함수가 있지만, 그중 all()과 any() 함수는 논리 연산을 간단히 처리할 수 있어 매우 유용하다. 특히, iterable 객체를 기반으로 한 조건 검사를 간결하게 표현할 수 있어 코드 가독성을 높이는 데 도움을 준다. 이 포스팅에서는 all()과 any() 함수의 정의, 특징, 사용법을 예제와 함께 알아보겠다.1. all() 함수란?all(iterable) 함수는 인자로 받은 반복 가능한 객체(iterable)의 모든 요소가 참(True)이면 True를 반환하고, 하나라도 거짓(False)이면 False를 반환한다. 만약 iterable이 비어 있다면 기본적으로 True를 반환한다. and 연산자와 유사한 동작을 한다고 보면 이해하기 쉽다. all(iterable)은 내..

정규식을 사용해 여러개의 구분자로 split 하는 방법

Python의 string 내장함수인 split을 사용하면 구분자를 기준으로 string을 list로 나눌 수 있다.str = "Hello Aloo! I love how you treat me!"str = str.split()print(str)# ['Hello', 'Aloo', 'I', 'love', 'how', 'you', 'treat', 'me!']str = "What's up, Aloo, Nice to meet you!"str = str.split(',')print(str)# ['What's up', ' Aloo', ' Nice to meet you!'] 알고리즘 문제를 풀다 보면, 여러 개의 구분자로 string을 list로 나누고 싶을 때가 있다.이와 같은 경우에 re(정규식) library 를..

리스트 원소 중에서 가장 길이가 긴(최대길이) 원소 찾기

알고리즘 문제를 풀다가 map을 활용해서 리스트 원소 중에서 가장 길이가 긴 원소를 찾는 방법을 배웠다.사실 map의 원리를 잘 이해하면 알 수 있는 내용이지만, 빠르게 찾는 방법을 알아두면 좋으니 배워보자. 먼저, 방법부터 말하자면 아래와 같이 활용할 수 있다.n = max(map(len,list)) 편의상 list를 nums 라는 리스트라고 가정해보자. map(len, nums) 는 nums가 리스트라고 가정할 때, map 함수는 리스트 nums 의 각 요소에 대해 len 함수를 적용한다는 의미다.즉, nums 에 있는 각 요소의 길이를 계산하여 반환하는 작업이라 할 수 있다.예시를 살펴보자.nums = [[1,2,3], [4,5], [6]] 위와 같은 nums 리스트가 있다고 한다면, map(len..

반응형