#1
두 정수를 한 번에 받을 경우
A, B라는 정수를 한꺼번에 받을 때
A, B=map(int,input().split())
해당 코드를 쓸 수 있다.
#2
입력이 많을 경우 시간을 줄이는 법
input의 경우에는 입력의 시간이 길다
그러나, sys 모듈을 이용하면 해당 시간을 단축시킬 수 있다.
import sys
A=sys.stdin.readline().split()
B=sys.stdin.readline().strip()
A는 split()함수가 쓰여 입력을 받을 때 띄어쓰기를 기준으로
A 안에 따로 저장된다.
B는 strip()함수가 쓰여 readline()으로 마무리 되었을 때
뒤에 \n이 붙는 것을 없애준다.
#3
pow 함수
pow함수는 math 모듈에 있는 함수로
인자가 2개일 때와 3개일 때로 나눌 수 있다.
pow(a,b)는
a ** b의 결과이며
pow(a,b,c)는
a ** b % c의 결과이다.
이외에도 math 모듈 내 함수가 궁금하다면
https://docs.python.org/ko/3/library/math.html
위 사이트에 자세하게 나와있다.
#4
PyPy3로 시간초과 해결
Python 3보다 PyPy3가 더 빠른 연산을 수행한다
물론 웬만하면 이러한 경우는 거의 없다
대부분의 경우는 더 연산이 적은 코드를
만들어서 Python으로 통과해보는게 좋다.
#5
max(), min() 함수
필자는 해당 함수를 몰라서 고생했지만
알고난 후에는 애용 중이다.
물론 해당 함수들은 기초적일 수도 있지만
모르는 사람에게는 굉장히 도움되는 함수이다.
L=[1,2,3,4,5,6,7,8,9]
print(max(L))
print(min(L))
max(L)의 값은 9가 되며
min(L)의 값은 1이 된다.
#6
빠르게 리스트 만들기
N=3
L1=[[0] for _ in range(N)]
L2=[[0]*N for _ in range(N)]
숏코딩 같은 걸 보면 해당 구문을 쓰는 사람이 많은데
미리 알아두면 편하다
특히, DFS/BFS 구문 이용할 때 사용 자주 한다.
#7
지역(local) 변수에서 전역(global) 변수로
Count=10
def Plus(a):
Count+=a
Plus(10)
print(Count)
해당 구문을 이용하면 아래와 같은 오류가 나타난다.
즉, Count라는 변수가 지역 변수기 때문에 나타나는
오류인데, 이를 고쳐주려면 global 선언을 해주면 된다
Count=10
def Plus(a):
global Count
Count+=a
Plus(10)
print(Count)
이러면 정상적으로 처리가 된다.
'백준(BOJ)' 카테고리의 다른 글
[백준] 1697번 숨바꼭질 : 파이썬(python) 설명 (0) | 2022.06.22 |
---|---|
[백준] 10872번 팩토리얼 : 파이썬(python) 설명 (0) | 2021.10.26 |
[백준] 2579번 계단 오르기 : 파이썬(python) 설명 (0) | 2021.10.23 |
[백준] 11053번 가장 긴 증가하는 부분 수열 : 파이썬(python) 설명 (0) | 2021.10.23 |
[백준] 2231번 분해합 : 파이썬(python) 설명 (0) | 2021.02.24 |