구조 관련
정렬된 배열의 앞 뒤로 새로운 요소를 삽입 해야되는 경우
- 필요한 길이의 2배길이의 배열을 선언한 다음, (start, to)로 인덱스를 트래킹해가면서 넣는다.
- 이때 start, to의 초깃값은 2배 길이의 배열의 딱 중간이어야함(그래야 최솟값만 들어가거나, 최댓값만 들어갈때도 배열이 터지지 않음)
소수판별
- floor(sqrt(n)) 까지만 검사해도 됨.
라이브러리 관련
string
- < > == + 등의 연산자 사용가능
- .substr(index, size)
- 첫번째에는 시작 인덱스, 두번째에는 사이즈를 넣음
- O(n)의 시간복잡도를 가지므로 조심해서 사용
- .replace(index, size, str)
- 첫번째에는 시작인덱스, 두번째에는 사이즈, 세번째에는 변경할 문자열을 넣음
- 첫번째와 두번째로 정해진 범위를 세번째의 문자열로 교체한다.
- .compare(string)
- 매개변수로 들어온 string과 같으면 0을 반환하고, 다르면 0이 아닌 수를 반환한다.
- 호출하는 string의 값이 매개변수보다 사전순으로 앞에 있을땐 음수, 사전순으로 뒤에 있을땐 양수를 반환
- .find(str, index = 0)
- 호출하는 string과 매개변수로 들어오는 string 중에 일치하는게 있는지 확인
- 만약 일치하는게 있으면, 일치하는 부분의 첫번째 순서를 반환한다.
- 두번째는 어디서부터 찾을지이며, 디폴트는 0이다.
- .append(str2, n, m)
- 뒤에 str2의 n index부터 m개의 문자를 이어 붙임
- .append(n, char)
- 뒤에 n개의 char를 이어붙임
- .insert(n, str2)
- n번째 index 뒤에 str2를 이어붙임
- .erase(n, m)
- n~m번째 문자를 지움
- 변환 관련
- to_string(num) : 숫자를 문자열로 바꿔줌
- stoi(), stof(), stol(), stod() : 문자열을 숫자로 바꿔줌