짧은 개념들

파이썬에서 입력은 기본적으로 문자열로 인식된다

우선순위 큐는 from queue import PriorityQueue 로 쓸수 있다

힙은 최소 힙만 제공되기 때문에 내림차순 정렬을 하고싶다면 힙에 데이터를 넣을 때, 부호를 바꿔서 넣고 꺼낼때 다시 부호를 바꿔서 꺼내면 된다

빠르게 입력 받기

더보기
import sys
# 하나의 문자열 데이터 입력받기
input_data = sys.stdin.readline().rstrip()

# 입력받은 문자열 그대로 출력
print(input_data)

입력 데이터의 개수가 많은 문제에 input() 함수를 사용하면 동작 속도가 느려서 시간 초과 판정이 나올수 있어서 sys 라이브러리의 readline() 함수를 이용하는게 좋다. 이후에 rstrip() 함수를 꼭 호출해 주어야 데이터에 공백이 포함되지 않는다

 

리스트

더보기

''.join(리스트)

리스트를 문자열로 변환

 

변수 = []

리스트로 선언

 

리스트.append(변수)

변수를 리스트 가장 뒤에 삽입

 

리스트 컴프리헨션

리스트를 초기화 하는데에 있어서 간결하게 표현하고 조건이나 반복을 할수 있다.

사용 예) d = [[0] * m for _ in range(n)] # 0으로 초기화 된 n*m의 2차원 배열 (정확히는 배열이 아니지만 배열처럼 사용 가능)

 

 

리스트[::-1] / 리스트

전자는 최상단 (가장 나중에 들어온 원소), 후자는 최하단 (가장 먼저 들어온 원소) 부터 접근한다

파이썬에서 리스트는 스택처럼 이용할 수 있다

 

튜플

한번 선언된 값을 변경할 수 없다.

리스트는 대괄호, 튜플은 소괄호를 이용.

 

(), [], {} 의 용도

() = 튜플 / [] = 리스트 / {} = 딕셔너리

 

 

 

A in B

A배열 안에 B요소가 있는지 검사후 True, False를 반환해줌

사용 예) if s in "string"

 

ord(문자)

하나의 문자를 인자로 받고 해당 문자에 해당하는 아스키코드 정수 반환

ord('a')는 97을 반환한다

 

chr(정수)

하나의 정수를 인자로 받고 해당 정수에 해당하는 아스키코드 문자 반환

chr(97)은 a를 반환한다

 

.isalpha()

해당 문자가 한글or영문인지 확인. 문자형 변수에만 사용이 되는 것 같음. 특수문자, 숫자에 대해서는 False 반환

 

.isalnum()

위에서 숫자까지 포함됨

 

.isdigit()

해당 문자/문자열이 숫자로만 이루어져 있는지 판별. 음수/소수점 제외. 숫자처럼 생긴 모든 글자를 숫자로 침

 

.isnumeric()

isdigit와 유사하지만 숫자값 표현에 해당하는 문자열까지 인정한다. 제곱근, 분수, 등등

 

global 변수

함수 밖에서 선언된 경우 함수 안에서는 명시적으로 global을 붙여주고 사용해야 함

함수 밖에서 명시해주어도 함수 내에서 사용시 명시해주지 않으면 지역변수처럼 사용된다

 

print(~~, end=' ')

줄바꿈이 아닌 공백문자를 출력한다

 

print(~~, sep='')

공백을 모두 없애준다

 

변수 = int(input(), 16)

16진수로 입력받는다. 2, 8, 16 가능

 

sum(배열)

배열 안의 수를 모두 합해준다

 

 

[문자열]
index와 find의 차이. find는 값을 못찾으면 -1을 반환. index는 오류를 발생시킴

[사전]
사전에서 배열처럼 직접 접근하는 방법과 get 모두 용도는 동일한데 직접 접근시 값이 없으면 오류가 나옴. get은 None반환
키 삭제는 del

[집합]
순서 없음. 중복허용 안함
선언시 {}로 감싸거나 리스트를 set()으로 감싸면 됨
두개의 집합을 & 연산시 교집합 되는 부분만 남음. 혹은 .intersection
두개의 집합을 | 연산시 합집합이 됨. 혹은 union
두개의 집합을 - 연산시 차집합이 됨. 혹은 difference

add와 remove로 값 추가, 삭제 가능

[함수]
가변인자. 매개변수를 *value같이 앞에 *을 붙여서 받으면 된다. 함수 내에서는 for문으로 접근 가능

[출력포맷]
{} .format 사용시 {}안에 인자들을 채워넣어서 출력포맷을 바꿀수 있다
{0:^<+30,} = 빈자리를 ^로 채우고, < 왼쪽정렬, +부호표시, 총 30자리, 3자리마다 ,를 찍어줌. 필요없는건 제외해도 됨

'프로그래밍 > Python' 카테고리의 다른 글

[자료형] 집합  (0) 2022.07.22
[자료형] 딕셔너리(사전)  (0) 2022.07.22
[자료형] 리스트 & 튜플  (0) 2022.07.22
[자료형] 문자열  (0) 2022.07.22
sort 함수에서 key가 다중조건일때  (0) 2022.07.18

+ Recent posts