티스토리 뷰
0강 - X
1강
실수를 비교할 때에는 등호를 사용하면 안된다.
abs(a-b) < 1e-12을 사용해서 비교
2강
- 참조자 사용
- STL
vector는 인자로 전달하여 해당 함수에서 값을 변경하여도 원본 vector에 반영되지 않음.
vector를 함수인자로 넘길 때 복사비용때문에 1차원 벡터기준 O(N)의 시간복잡도 필요
→ vector<int>& v1과 같이 참조자 사용으로 O(1)으로 사용가능.
- getline(cin, s)를 통해 공백이 있는 문자열을 입력받음
- ios::sync_with_stdio(0), cin.tie(0)
→ 동기화를 끊음을 통해 시간 절약 가능.
단, 이를 사용했으면 cout과 printf를 섞어써서는 안된다.
3강
- 배열 초기화시 memset 비추천
- algorithm 헤더의 fill함수 활용
- vector 주로 사용, 시간복잡도 주의
- vector에서 = 사용시 deep copy
- for(int e : v1) for(int& e : v1)의 차이 주의 (원본 값 변경)
- v.size()는 unsinged int를 반환하므로 v.size() - 1은 오버플로우 문제가 발생할 수 있음
- O(n)이 필요한 부분에서 배열의 빈도수 배열을 활용하면 추가 공간을 사용하여 O(1)에 해결할 수 있음
'PS > 강의' 카테고리의 다른 글
| 6일차 강의 (16 ~ 17강) (0) | 2024.01.18 |
|---|---|
| 5일차 강의 (14 ~ 15강) (0) | 2024.01.16 |
| 4일차 강의요약 (13강) (0) | 2024.01.01 |
| 3일차 강의요약 (9강 ~ 12강) (0) | 2023.12.30 |
| 2일차 강의요약 (4강 ~ 8강) (0) | 2023.12.25 |
