입력 부분
readline()
- 하나의 줄을 그대로 읽어옴. 공백 그리고 줄바꿈(\n) 까지 그대로 읽음.
a = "ABCDE EFG\n"
a.split()
["ABCDE" "EFG"]
split()
- 공백,줄바꿈 기준으로 전부 분할함.
a= "ABCDE EFG\n"
a.split()
['A', 'B', 'C', 'D', 'E', ' ', 'E', 'F', 'G', '\n']
rstrip()
- 오른쪽 줄바꿈 기호 제거 가능
예시 !!
WBWBWBWB
BWBWBWBW
WBWBWBWB
board = [list(f.readline().rstrip()) for _ in range(N)]
rstrip()으로 줄바꿈 제거하고 list()로 묶으면 [ 'w', 'b','w','b'...] 처럼된다.
인덱스 문제
N,M 행렬에서 k by k 마스크를 슬라이딩 윈도우로 한번씩 돌고 싶을 때!
N- i + 1 = K
마지막 i 번째에서 K크기의 필터가 적용되면 딱 맞다. for j in range(i) 번 반복!
좌표계
5,5 행렬을에서 좌표 x,y를 더했을때, 홀짝 홀짝 패턴으로 반복된다!

데이터
아스키코드
- ord() 함수 쓰면 된다.
char = 'a'
ord(a)
65
최대 최속값
- 최대값에는 작은값을, 최솟값에는 큰값을... 반대로 넣어줘야한다!! 헷갈리지말자.
p2108
정렬문제
Merge sorting 에서 합병 할 때 나머지 (rest elemets) 꼭꼭 합쳐주자!!
return res + left[i:] + right[j:]
def merge(left, right):
i, j, lm, rm = 0, 0, len(left), len(right)
res = []
while i < lm and j < rm:
if compare(left[i], right[j]):
res.append(left[i])
i += 1
else:
res.append(right[j])
j += 1
return res + left[i:] + right[j:]
p11650, p11651
'백준 알고리즘' 카테고리의 다른 글
삼성 #16637 괄호치기 문제 (0) | 2021.08.17 |
---|---|
백준 #18770 (0) | 2021.06.24 |
백준 #10989 (0) | 2021.06.23 |
백준 #1018 (0) | 2021.06.21 |
백준 #2231 분해합문제 (0) | 2021.06.21 |