ProgrammingLanguage/Python
-
시간 복잡도 측정ProgrammingLanguage/Python 2020. 9. 20. 00:47
알고리즘 문제를 푸는 경우, 시간 복잡도를 분석해야하는 경우가 많다. 기본적으로 시간 복잡도를 항상 생각하며 문제를 푸는 것을 우선으로 하고, 만일 직관적으로 자신의 코드가 어느정도 성능을 가지고 있는지 파악하고 싶다면 아래와 같은 코드를 활용해보자. import time # 시간 라이브러리 함수 start = time.time() # 시간 측정 함수 # 측정하고자 하는 code end = time.time() print("time :", end - start) # 수행 시간 출력
-
딕셔너리(dictionary) 자료형ProgrammingLanguage/Python 2020. 9. 19. 23:10
딕셔너리는 키(Key)와 값(Value)의 쌍을 데이터로 가지는 자료형이다. 이름 그대로 사전을 생각하면 이해하기 쉽다. 예를 들어 평일을 딕셔너리 자료형을 이용하여 영어 사전 처럼 저장하고 싶은 경우, 다음과 같은 코드를 작성할 수 있다. week = dict() week['월'] = 'Monday' week['화'] = 'Tuesday' week['수'] = 'Wednesday' week['목'] = 'Thursday' week['금'] = 'Friday' 다음과 같이 바로 초기화 할수도 있다. week = {'월' : 'Monday', '화' : 'Tuesday', '수' : 'Wednesday', '목' : 'Thursday', '금' : 'Friday'} 딕셔너리 자료형이 중요한 이유는, 파이썬..
-
리스트 컴프리헨션/2차원 배열 초기화ProgrammingLanguage/Python 2020. 9. 19. 22:30
파이썬은 컴프리헨션(Comprehension)을 이용하여 반복 되거나 특정 조건을 만족하는 리스트를 쉽게 만들어낼 수 있다. 이것을 리스트 컴프리헨션(List Comprehension)이라고 한다. 이 외에도 딕셔너리 컴프리헨션, 셋 컴프리헨션이 있으니 참고하도록 하자. 리스트 컴프리헨션은 특히 파이썬에서 다차원 리스트를 초기화 하는 경우 유용하게 사용되므로 익숙해지도록 하자. 예를 들어, 0부터 9까지의 수를 1차원 리스트에 담고 싶은경우 일반적으로 다음과 같은 방법을 생각할 수 있다. arr = [0] * 10 for i in range(10): arr[i] = i 하지만 컴프리헨션을 이용한다면, 다음과 같이 한 줄의 코드 만으로 1차원 리스트를 초기화 할 수 있다. arr = [i for i in ..