list 2

[Python] deque를 list 대신 써야하는 이유가 뭘까?

deque 이란? 결론부터 말씀드리자면 list 와 같은 배열이지만 "양쪽에서 요소를 추가와 삭제가 가능한" 자료구조입니다. Python의 collections 모듈에서 제공하는 deque는 "double-ended queue"(양방향 큐)의 줄임말 입니다. 다시 말해서 queue(큐)에 앞쪽에 연산이 추가된 자료구조라고 볼 수 있습니다. 써야하는 이유 deque 자료구조는 pop, append method는 시간복잡도가 O(1)입니다. 하지만 list 자료구조에서 pop, append method는 시간복잡도가 O(n)입니다. 이러한 이유로 작은 데이터 셋에서는 큰 차이가 없지만 데이터 셋이 큰 경우에 큰 차이를 알 수 있습니다. 특히 BFS를 queue로 구현하면 시간초과가 발생하지만 deque를 통..

Coding/Python 2023.06.25

[Python] split, join 리스트을 문자열로 변환, 문자열을 리스트로 변환

split 함수 문자열을 '특정 문자'를 기준으로 리스트로 바꾸는 함수이다. string -> list S="Python javaScript" # 리스트로 나눌려고 하는 문자열을 입력한다. # split함수를 쓰고 나누려는 문자열을 입력한다. # 공백인 경우는 ' '를 기준으로 나눈다. print(S.split()) # 출력결과 # ['java', 'javaScript'] print(S.split('a')) # 출력결과 # ['Python j', 'v', 'Script'] # 만약 원소 하나씩 리스트에 넣으려고 한다면 list 함수 print(list(S)) # 출력결과 # ['P', 'y', 't', 'h', 'o', 'n', ' ', 'j', 'a', 'v', 'a', 'S', 'c', 'r', 'i..

Coding/Python 2020.11.09