저장소
[이코테 2021] 1. 파이썬 문법 정리 본문
1. 자료형
(1) 정수형(Integer)
- 정수를 다루는 자료형
- 양의 정수, 음의 정수, 0
(2) 실수형(Real Number)
- 소수점 아래의 데이터를 포함하는 수 자료형
- (파이썬) 변수에 소수점을 붙인 수
- 소수부 or 정수부 0 => 생략 가능

- 지수 표현 방식
- 2진수 체계로 인해 실수 정보 표현 정확도에 한계로 round(소수, 소수 n+1째 자리 반올림) 함수 이용
(3) 실수형: 지수 표현 방식

- (유효숫자)e(or E)(10의 지수부) Ex) 1e9 = 10^9
- 최단 경로 알고리즘에서 도달할 수 없는 노드에 대해 최단 거리를 무한(INF) 설정
- 사용 가능한 최댓값이 10억 미만이라면 무한(INF) = 1e9
(4) 수 자료형의 연산
- 사칙연산 + 나머지 연산
- 나누기 연산자(/): 실수형으로 반환
- 나머지 연산자(%)
- 몫 연산자(//)
- 거듭 제곱 연산자(**)
2. 리스트 자료형
(1) 리스트 자료형
- 배열, 연결 리스트 유사 기능
- 데이터를 연속적으로 담아 처리
- C++의 STL vector와 기능적으로 유사
(2) 초기화
- 데이터 입력 초기화: [데이터1, 데이터2]
- 빈 리스트: list(), []
- index는 0부터 시작
(3) 리스트: 인덱싱 & 슬라이싱
- 인덱싱: 리스트의 특정한 원소에 접근
- 양의 정수, 음의 정수 입력 가능
- 음의 정수: 뒤에서 n 번째 원소에 접근
- 슬라이싱: 연속적인 위치를 갖는 원소들을 가져와야할 때 사용
- 대괄호 안에 클론(:)을 넣어서 시작 인덱스와 끝 인덱스 설정 가능
- 끝 인덱스는 실제 인덱스보다 1을 더 크게 설정
(4) 리스트 컴프리헨션 & 언더바
- 리스트 컴프리헨션: 대괄호 안에 조건문과 반복문을 적용하여 리스트 초기화


- N X M 크기의 2차원 리스트 초기화 시 효과적


- 언더바(_): 반복을 수행하되 반복을 위한 변수의 값을 무시할 때 사용
(5) 기타 주요 메서드

3. 문자열 자료형
(1) 초기화
- 큰 따옴표 or 작음 따옴표
- 전체 문자열 구성과 내부에 쓰이는 따옴표의 종류가 다르면 포함 가능
- 백슬래시(\) 사용 시 큰 따옴표나 작음 따옴표 자유롭게 포함 가능
(2) 연산
- 덧셈: 연결하기
- 곱하기: 반복
- 인덱싱, 슬라이싱 사용 가능
- 변경 불가능 객체: 특정 인덱스 값 변경 불가(Immutable)
4. 튜플 자료형
(1) 특징
- 선언값 변경 불가능
- 소괄호() 사용
- 공간 효율적
(2) 사용 목적
- 서로 다른 성질 데이터 묶어서 관리 => 최단 경로 알고리즘에서 (비용, 노드 번호) 형태로 사용
- 데이터의 나열을 해싱(Hashing)의 키 값으로 사용
- 메모리 효율
5. 사전 자료형

- 키(key)-값(value) 쌍 데이터 자료형
- 순서X = 인덱싱X
- 변경 불가능(Immutable) 자료형을 키로 사용 가능
- 해시 테이블(Hash Table) 이용 => 데이터 조회 및 수정 시간 복잡도 = O(1)
- .keys(), .values(): 키, 값 데이터 리스트 추출 가능
6. 집합 자료형
- 중괄호({}) 안에 콤마 기준으로 구분
- 중복X 순서X = 인덱싱X
- set() 함수로 리스트 or 문자열 초기화 가능
- 데이터 조회 및 수정 시 O(1)의 시간에 처리 가능
- 연산: 합집합(|), 교집합(&), 차집합(-)
- .add(n): 원소 추가
- .update([n, m]): 여러 원소 추가
- .remove(n): 특정한 값(n) 원소 삭제
7. 기본 입출력
(1) 표준 입력 방법
- input() 함수: 한 줄의 문자열 입력
- map(): 리스트의 모든 원소에 각각 특정한 함수 적용 시 사용

(2) 빠르게 입력 받기
- (파이썬) sys 라이브러리에 정의된 sys.stdin.readline() 메서드 이용
- 엔터(Enter)가 줄 바꿈 기호로 입력되므로 rstrip() 메서드 사용

(3) 출력
- print(): 콤마 띄어쓰기 구분 가능, 기본 줄 바꿈
- end 속성으로 자동 줄 바꿈 가능 변경 가능
- f-string: 문자열 앞에 접두사 'f'를 붙이고 중괄호 안에 변수명 기입

8. 조건문
- if-elif-else문
- 파이썬은 코드 블록을 들여쓰기로 지정 = 4개의 공백
- 조건부 표현식: if ~ else문을 한 줄에 작성 가능

- 파이썬은 수학 부등식 그대로 사용 가능 But 순차적으로 처리하기 때문에 조건문이 항상 True가 될 수 있음

(1) 비교 연산자
- 대입 연산자(=)와 같음 연산자(==) 구분 필요

(2) 논리 연산자

- and: 범위 속하는지 여부 확인에 주로 사용
(3) 기타 연산자
- 리스트, 튜플, 문자열, 딕셔너리 모두 사용 가능

(4) pass 키워드
- 조건문의 형태만 만들어 놓고 조건문을 처리하는 부분은 비워놓는 경우
9. 반복문
- for문 / while 문
- 무한 루프 사용 빈도 적으니 탈출 여부 확인하기
- for range(시작, 끝+1) => 인자값을 하나만 넣으면 자동으로 시작 = 0
- continue: 남은 코드 실행 건너뛰기
- break: 즉시 탈출


10. 함수와 람다 표현식
(1) 함수

- 특정 작업을 하나의 단위로 묶음
- 종류: 내장 함수, 사용자 정의 함수
- 소스코드 줄일 수 있음
- 파라미터 변수 직접 지정 가능(순서 상관X)

- global 키워드 = 함수 바깥의 변수 참조(없을 시 내부 선언된 지역변수 우선 참조)
- 여러 개의 반환 값O

(2) 람다 표현식
- 특정 기능 수행 함수 한 줄에 작성 가능
- 함수 자체를 입력 받는 함수 or 한 번만 사용하는 함수에 활용


11. 자주 사용되는 표준 라이브러리

(1) 내장 함수
- sum(), min(), max(), eval(), sorted(array, key, reverse)

(2) 순열과 조합
- 순열: 서로 다른 n개에서 서로 다른 r개 순서대로 나열
- 조합: 서로 다른 n개에서 순서 상관 없이 서로 다른 r개 선택

- permutations

- combinations

- product

- combinations_with_replacement

(3) Counter
- 등장 횟수 출력

(4) 최대 공약수(GCD) & 최소 공배수(LCM)

'IT > 2021 이코테' 카테고리의 다른 글
[2021 이코테] 3. DFS & BFS (0) | 2022.04.08 |
---|---|
[이코테 2021] 2. 그리디 & 구현 (0) | 2022.04.01 |
[이코테 2021] 1. 코딩 테스트 출제 경향 분석 (0) | 2022.03.25 |