1. 자주 사용되는 표준 입력 방법 input() 함수는 한 줄의 문자열을 입력받는 함수 map() 함수는 리스트의 모든 원소에 각각 특정한 함수를 적용할 때 사용함 예시) 공백을 기준으로 구분된 데이터를 입력받을 때는 다음과 같이 사용한다. list(map(int, input().split())) 예시) 공백을 기준으로 구분된 데이터의 개수가 많지 않다면, 단순히 다음과 같이 사용한다. a, b, c = map(int, input().split()) # 데이터의 개수 입력 n = int(input()) # 각 데이터를 공백을 기준으로 구분하여 입력 data = list(map(int, input().split())..
1. 집합 자료형 집합은 다음과 같은 특징이 있음 중복을 허용하지 않는다. 순서가 없다. 이러한 특징들 때문에 집합 자료형을 어떠한 데이터가 존재하는지 존재하지 않는지 여부를 체크하는데 효과적으로 사용됨 집합은 리스트 혹은 문자열을 이용해서 초기화할 수 있음 이때 set() 함수를 이용함 혹은 중괄호 ({ }) 안에 각 원소를 콤마 (,)를 기준으로 구분하여 삽입함으로써 초기화할 수 있음 데이터의 조회 및 수정에 있어서 O(1)의 시간에 처리할 수 있음 # 집합 자료형 초기화 방법 1 data = set([1, 1, 2, 3, 4, 4, 5]) print(data) # 집합 자료형 초기화 방법 2 data = {1, 1, 2, 3, 4, 4, 5} print(data) 2. 집합 자료형의 연산 기본적인 ..
1. 사전 자료형 사전 자료형은 키(Key)와 값 (Value)의 쌍을 데이터로 가지는 자료형이다. 리스트나 튜플이 값을 순차적으로 저장하는 것과 대비됨 리스트 같은 경우는 앞에서부터 뒤까지 값이 차례대로 저장이 되어있기 때문에, 몇 번째 원소로 접근하고자 할 때 인덱싱을 이용할 수 있었음 반면에, 사전 자료형은 키와 값의 쌍을 데이터로 가지며, 원하는 '변경 불가능한 (Immutable) 자료형'을 키로 사용할 수 있음 파이썬의 사전 자료형은 해시 테이블 (Hash Table)을 이용하므로 데이터의 조회 및 수정에 있어서 O(1)의 시간에 처리할 수 있 data = dict() data['사과'] = 'Apple' data['바나나'] = 'Banana' data['코코넛'] = 'Coconut' pr..
1. 튜플 자료형 튜플 자료형은 리스트와 유사하지만 다음과 같은 문법적 차이가 있다. - 튜플은 한 번 선언된 값을 변경할 수 없다. - 리스트는 대괄호 ([ ])를 이용하지만, 튜플은 소괄호 (( ))를 이용한다. 튜플은 리스트에 비해 상대적으로 공간 효율적이다. (리스트를 사용할 때보다, 더 적은 양의 메모리를 사용함) # 튜플은 한 번 선언한 값은 변경할 수 없음 a = (1, 2, 3, 4) print(a) 2. 튜플을 사용하면 좋은 경우 서로 다른 성질의 데이터를 묶어서 관리해야 할 때 - 최단 경로 알고리즘에서는 (비용, 노드 번호)의 현태로 튜플 자료형을 자주 사용한다. 데이터의 나열을 해싱(Hashing)의 키 값으로 사용해야 할 때 - 튜플은 변경이 불가능하므로 리스트와 다르게 키 값으로..
1. 리스트 컴프리헨션 2차원 리스트를 초기화할 때 효과적으로 사용될 수 있음 특히, 다양한 코딩테스트 문제에서는 N X M 크기의 2차원 리스트를 사용하는 경우가 많은데, 리스트 컴프리헨션을 이용하면 2차원 리스트를 한 번에 초기화해야 할 때 매우 유용함 ex) 좋은 예시 : array = [[0] * m for _ in range(n)] 만약에, 2차원 리스트를 잘못 초기화했을 경우 예기치 않은 경우가 발생함 ex) 잘못된 예시 : array = [[0] * m] * n => 위 코드는 전체 리스트 안에 포함된 각 리스트가 모두 같은 객체로 인식됨 # 코드 1 : 리스트 컴프리헨션 # 0부터 19까지의 수 중에서 홀수만 포함하는 리스트 array = [i for i in range(20) if i %..