티스토리 뷰

PS/강의

1일차 강의요약 (0강 ~ 3강)

Codecheck 2023. 12. 23. 10:48

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
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/12   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함