본문 바로가기

백엔드/파이썬

파이썬 자료구조 - list, set, dict, tuple

반응형

 

우선 오늘 파이썬으로 문제를 풀다가 난관에 봉착했다. 

 

위의 사진처럼 주구장창 시간초과가 나기 시작했다. 

 

그래서 그 원인을 하나씩 잡아가면서 수정하였고, 오늘은 그 중 하나를 적어보겠다.

파이썬에서 배열의 역할을 하는 것들은 크게 list, tuple, set, dict등이 있다.

 

나는 습관적으로 list를 남발하였기에 효율이 떨어졌다. 

 

아래의 표를 보고 이제는 자료 구조를 상황에 맞게 써보자.

 

아래의 참고 블로그에서 퍼온 그림이다. 

 

핵심은 이렇다. 

데이터 수정, 순서가 필요하면 list.

아래의 백준 문제같은 상황은, 중복값을 불허하며, 순서가 불필요하기에 set을 사용해도 좋다. 

 

 

* 참고

11723번: 집합 (acmicpc.net)

 

11723번: 집합

첫째 줄에 수행해야 하는 연산의 수 M (1 ≤ M ≤ 3,000,000)이 주어진다. 둘째 줄부터 M개의 줄에 수행해야 하는 연산이 한 줄에 하나씩 주어진다.

www.acmicpc.net

Python 기본함수들 성능속도 비교 (tistory.com)

 

Python 기본함수들 성능속도 비교

Python 3.5 기준입니다 Input() VS sys.stdin.readline 입력을 10번정도는 크게 차이가없다.. 하지만 수만번이상의 입력을 요하는 작업이면  sys.stdin.readline 이  눈에띄게 차이날정도로 빠르다 자료구조선..

tkql.tistory.com

 

반응형