바킹독님의 실전알고리즘배우기 7강듣고 요약
덱의 성질
덱은 double-ended queue로, 큐인데 양끝에서 삽입과 삭제가 가능한 자료구조이다.
양 끝의 원소 이외의 원소들은 원칙적으로 확인이 불가능하지만, STL deque에서는 가능하다.
바킹독님의 실전알고리즘배우기 6강듣고 요약
큐의 성질
큐의 구현
큐는 배열로 구현하면 점점 원소들이 뒤로 밀리기 때문에 큐를 구현할 땐 위 그림처럼 tail과 head가 연결되는 원형 큐로 구현하는게 좋다.
하지만 코딩테스트에서는 입출력의 수가 정해져있기 때문에 충분히 배열의 크기를 크게 만들기만 하면 된다.
따라서 밑의 큐 구현 코드는 선형 큐이다.
```c++
#include <bits/stdc++.h>
using namespace std;
바킹독님의 실전알고리즘배우기 5강듣고 요약
스택의 성질
스택의 구현
```c++ #include <bits/stdc++.h> using namespace std;
바킹독님의 실전알고리즘 배우기 2강 듣고 요약
함수 인자 넘기기
답은 0, 10, 0이다.
int나 struct는 함수에 인자를 보낼 때 복사를 해서 보내기 때문이고, 배열은 주소를 보내기 때문이다.
(나는 2번을 틀려서 맴찢이었다.. 배열과 포인터에 관하여 다시 공부를 해야겠다.)
참조자(&)를 사용하면 더 깔끔하다.(참조자 복습하기)
vector 등 STL을 함수에 인자로 전달해도 복사가 되므로 주의한다.
위와 같은 경우는 vector의 원소를 전부 복사해야 하므로 시간 복잡도가 O(N)이 된다. 따라서 이 때도 참조자(&)를 이용하여 전달한다.
한 줄을 전부 입력받고 싶을 땐 getline()을 쓰는게 좋다.
바킹독님의 실전알고리즘 배우기 1강 듣고 요약
시간 복잡도
문제에 따른 허용 시간 복잡도 짐작하기
공간 복잡도
메모리의 크기가 512MB라면 1.2억개의 int 변수를 선언할 수 있다는 것 기억하기(int 1개가 4byte)