-
1. 자료형[이것이 취업을 위한 코딩테스트다 with 파이썬]/코딩 테스트를 위한 파이썬 문법 2022. 10. 24. 15:50
*이것이 취업을 위한 코딩 테스트다 with 파이썬(한빛미디어, 나동빈 링크)을 공부하며 정리한 내용입니다.*
수 자료형
- 정수형: 정수를 다룬 자료형(양의 정수, 음의 정수, 0)
- 실수형: 소수점 아래의 데이터를 포함하는 수 자료형(소수점 붙인 수 대입할 경우)
유효숫자 e 지수승 = 유효숫자 * 10의 지수승 1e9 = 10의 9제곱 = 1,000,000,000 3954e-3 = 3.954
- IEEE754 표준에서는 실수형 저장 위해 4바이트 / 8바이트라는 고정된 크기의 메모리 할당 → 컴퓨터는 실수를 정확히 표현하지 못한다.
- 실수형 데이터 비교할 때는 round(실수형 데이터, 반올림하고자 하는 위치 -1) 함수로 소수점 다섯 번째 자리에서 반올림한 결과가 같으면 정답으로 인정
a = 0.3 + 0.6 print(round(a, 4))
리스트 / 배열 / 테이블 자료형
- 여러 개의 데이터를 연속적으로 담아 처리하기 위해 사용(내부적으로 배열 채택, 연결리스트 자료구조 기능 포함)
- 리스트 만들기
# 빈 리스트 선언 방법 a = list() a = [] # 크기가 N인 1차원 리스트 초기화 n = 10 a = [0] * n print(a) # 리스트 컴프리헨션: 특정 크기의 2차원 리스트 초기화할 경우 반드시! # 0부터 19까지의 수 중에서 홀수만 포함하는 리스트 array = [i for i in range(20) if i % 2 == 1] # N * M 크기의 2차원 리스트 초기화 n = 3 m = 4 array = [[0] * m for _ in range(n)]
- 리스트 관련 기타 메서드
# 리스트에 원소 삽입: 시간복잡도 O(1) a.append(2) # 정렬: 시간복잡도 O(NlogN) a.sort() a.sort(reverse = True) # 리스트 원소 뒤집기: 시간복잡도 O(N) a.reverse() # 특정 인덱스에 데이터 추가: 시간복잡도 O(N) a.insert(2, 3) # 특정 값인 데이터 개수 세기: 시간복잡도 O(N) a.count(3) # 특정 값 데이터 삭제: 시간복잡도 O(N) a.remove(1)
# 특정한 값의 원소를 모두 제거할 때 a = [1, 2, 3, 4, 5, 5, 5] remove_set = {3, 5} # remove_set에 포함되지 않은 값만을 저장 result = [i for i in a if i not in remove_set]
문자열 자료형
a = 'Hello' b = 'World' print(a + '' + b) print(a * 3)
튜플 자료형
- 한 번 선언된 값 변경 불가
- 리스트에 비해 상대적으로 공간 효율적, 일반적으로 각 원소의 성질이 서로 다를 때
- 그래프 알고리즘 구현 시 자주 사용: 다익스트라 최단 경로 알고리즘 (비용, 노드 번호)의 형태로 함께 튜플로 묶어서 관리
a = (1, 2, 3, 4, 5)
사전 자료형
- 키와 값의 쌍을 데이터로 가지는 자료형
- 내부적으로 해시 테이블 이용 → 데이터의 검색 및 수정 O(1)
data = dict() data['사과'] = 'Apple' data['바나나'] = 'Banana' data['코코넛'] = 'Coconut' # 사전 자료형에 특정한 원소가 있는지 검사: 원소 in 사전 if '사과' in data: print("'사과'를 키로 가지는 데이터가 존재합니다.") # 키 데이터만 담은 리스트 key_list = data.keys() # 값 데이터만 담은 리스트 value_list = data.values() # 각 키에 따른 값을 하나씩 출력 for key in key_list: print(data[key])
집합 자료형
- 중복을 허용하지 않는다.
- 순서가 없다.
- 특정 원소가 존재하는지를 검사하는 연산 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)
print(a | b) # 합집합 print(a & b) # 교집합 print(a - b) # 차집합 # 새로운 원소 추가 O(1) a.add(4) # 새로운 원소 여러 개 추가 a.update([5, 6]) # 특정한 값을 갖는 원소 삭제 O(1) data.remove(3)
'[이것이 취업을 위한 코딩테스트다 with 파이썬] > 코딩 테스트를 위한 파이썬 문법' 카테고리의 다른 글
Ch5 DFS/BFS (0) 2023.05.03 6. 주요 라이브러리의 문법과 유의점 (0) 2022.10.26 5. 입출력 (0) 2022.10.26 3. 반복문 / 4. 함수 (0) 2022.10.26 2. 조건문 (0) 2022.10.26