해당 글의 파이썬 문법은 나동빈님의 책인 "이것이 취업을 위한 코딩테스트다"의 부록 A를 참고하여 정리한것이다.
round(실수, 반올림위치-1)
/ : 나눈 결과를 실수로 모두 표현한다.
// : 몫을 반환
% : 나머지를 반환
파이썬의 리스트는 연결 리스트 자료구조라고 생각하면 된다. C++의 벡터와 유사!
❗️리스트는 중복을 허용한다.
1차원 리스트 초기화 예시
arr = [0] * n
2차원 리스트 초기화 예시
(특정한 크기의 2차원 리스트를 초기화할때는 아래와 같이 리스트 컴프리헨션을 이용하는 것이 좋다!!)
arr = [[0] * m for _ in range(n)]
👀 여기서 _의 역할은 👀 → 반복을 위한 변수의 값을 무시하기 위해
사용법 | 설명 |
---|---|
리스트.append() | 리스트 끝에 원소 삽입 |
리스트.sort() | default가 오름차순, 괄호 안에 reverse=True 옵션을 주면 내림차순 |
리스트.reverse() | 리스트 원소 순서 뒤집기 |
리스트.insert(인덱스,값) | 특정 인덱스에 값 삽입 |
리스트.count(값) | 특정 값의 원소 개수 |
리스트.remove(값) | 리스트는 중복이 가능하기 때문에 값을 가진 원소가 여러개면 하나만! 제거한다. |
위의 표를 참고하면 remove()함수는 특정 값의 데이터를 단 하나만 제거한다. 만약 특정 값의 데이터를 모두 리스트에서 제거하고 싶다면 아래를 참고하자!
삭제하고 싶은 데이터를 remove_set에 넣고 사용하면 된다.
튜플은 리스트와 매우 유사한데 차이점이 있다면, 리스트는 mutable하지만 튜플은 immutable하다는 것이다.
❗️튜플은 중복을 허용하지 않는다.
문자열끼리 + 덧셈을 진행하면 연결된다.
문자열에 숫자를 곱하면 그 값만큼 여러번 연결된다.
또한 파이썬에서 문자열은 내부적으로 리스트로 처리되기 때문에 인덱싱과 슬라이싱을 이용할 수 있다.
사전의 key값은 immutable한 데이터만 가능하다. 또한 딕셔너리로 만들어진 key값은 문자열로 바뀐다.
파이썬의 사전 자료형은 해시테이블을 이용하기 때문에 데이터의 검색 및 수정을 빠르게 처리할 수 있다.
❗️사전의 key값은 중복을 허용하지 않는다.
사용법 | 설명 |
---|---|
사전.keys() | key값만 담은 리스트 |
사전.values() | value값만 담은 리스트 |
사전.items() | (key,value)쌍을 튜플로 묶은 리스트 |
❗️집합은 중복을 허용하지 않는다.
집합은 순서가 없기 떄문에 인덱싱이나 슬라이싱을 사용할 수 없다.
기본적인 집합 연산으로 합집합(|), 교집합(&), 차집합(-)이 있다.
파이썬에서 input()으로 데이터를 받으면 문자열로 변환하여 받는다. 따라서 정수형 데이터로 처리하기 위해서는 int()함수를 사용해야 한다.
여러개의 데이터를 한번에 입력 받을때 공백으로 구분해야 되는경우가 많은데, 이때 아래의 함수를 이용하면 된다.
❗️list(map(int, input().split()))❗️
코테에서 입력의 개수를 많이 요하는 경우에 input()함수를 그대로 사용하면 시간 초과가 날 수 있기 때문에 아래와 같이 사용한다. rstrip()함수는 입력 후 엔터가 줄바꿈 기호로 입력되기 때문에 해당 기호를 제거하기 위해 사용한다.
자바에서는 출력할 때 정수형과 문자열을 +덧셈하여 출력할 수 있지만, 파이썬에서는 불가능하다. 따라서 자료형을 변환하여 사용하거나 ,를 구분자로 사용해서 출력한다. 이때 ,를 쓰게 되면 변수의 값 사이에 공백이 삽입된다는 점을 참고해야 한다.
f-string 문법
해당 문법을 사용하여 자료형의 변환 없이도 {}를 이용하여 출력할 수 있다.
파이썬의 주요 라이브러리에 대해서는 다음 글에서 정리한다!