0LL 이라고 쓰면 long long 으로 0취급
0 으로 그냥 쓰면 그냥 int로 0 취급
vector나 set같은 컨테이너들 인자 모두 출력하는 방법으로
포문 돌리는 방법도 있지만
#inlucde <fmt/ranges.h>
vector<string> v = {"hi", "hello", "abc"};
fmt::print("{}", v);
처럼도 쓸 수 있음
위처럼 쓰면 {"hi", "hello", "abc"} 로 출력되는 듯 함
보이어-무어 알고리즘을 쓰면
문자열에서 그냥 find를 쓰는것보다 훠얼씬 빠르다고 함
#include <algorithm>
#include <functional>
#include <iostream>
#include <string>
int main() {
std::string s =
"I believe I can fly I believe I can fly I believe I can fly (woo)";
std::string needle = "believe";
auto it =
std::search(s.begin(), s.end(),
std::boyer_moore_searcher(needle.begin(), needle.end()));
if (it != s.end()) {
std::cout << needle << " found at " << std::distance(s.begin(), it)
<< std::endl;
} else {
std::cout << needle << " not found " << std::endl;
}
}
문자열에서 맨 앞의 연속된 0을 지우고 싶다면
s.remove_prefix(std::min(s.find_first_not_of("0"), s.size())); 을 쓰면 되고
맨 뒤는
s.remove_suffix(std::min(s.size() - s.find_last_not_of("0") - 1, s.size()));으로 하면 됨
class와 func은 CamelCase처럼 대문자로 띄어쓰기 표시하고
변수나 필드들은 snake_case처럼 _로 띄어쓰기 표시하는걸로 통일하면
이름만 보고도 저게 변수인지 함수인지 구분하기 좋다
2022/11/20 공부한 것, 부족한 것(정리완료)
2022. 11. 20. 14:22