티스토리 뷰
"\n" vs endl
endl은 출력 버퍼를 비워 주는 flush의 과정을 수행하기 때문에 \n보다 수행시간이 느리다.
cin
입력을 여러 번 받을 경우 아래의 코드를 작성하여 cin의 수행시간을 줄일 수 있다.
ios_base::sync_with_stdio(0);cin.tie(0);
우선순위 큐 vs 정렬
기본적으로 한 번만 정렬할 경우에는 sort가 우선순위 큐를 생성하는 것보다 빠르다.
하지만 원소의 push와 pop이 빈번하여 정렬을 여러 번 수행해야 할 경우, 우선순위 큐의 속도가 더 빠르다.
v.empty() vs v.size() == 0
가독성, 실행 시간 모두 empty가 빠르다.
vector vs array
벡터는 크기가 동적이기 때문에 저장할 데이터 개수를 알 수 없을때 사용한다. 하지만 vector는 iterator 기반 접근을 사용하기 때문에 접근 속도가 느리고, array는 index를 바탕으로 접근하기 때문에 속도가 빠르다. 따라서 데이터의 개수를 미리 알 수 있을 때에는 array를 사용하는 것이 좋다.
'C++ > 문법' 카테고리의 다른 글
[C++]간단한 문법 정리 (0) | 2023.07.14 |
---|---|
[C++]띄어쓰기 포함 입력받기 (0) | 2023.07.10 |
[C++]순열 (0) | 2023.07.08 |