string s; getline(cin, s);
regex reg("[A-Za-z]+");
smatch matches;
int cnt = 0;
while(regex_search(s, matches, reg)) {
++cnt;
s = matches.suffix().str();
}
cout << cnt;
스트링안에 공백으로 분리된 단어 개수 찾는 문제임 ㅇㅇ.
(공백이 한글자가 아닐 수 있음)
이렇게 쓰는 게 맞나? 잘 분리는 됨
근데 메모리 조건 빠꾸먹어서 걍 구현으로 해결해야했음..
regex가 원래 무거운건가
아니면 문제가 너무 메모리 제한을 빡세게 잡은건가 ㅇㅅㅇ;;
https://www.acmicpc.net/board/view/59985
오..
regex는 불가피한 경우 빼고 쓰는거 아님 - dc App
string에서 복잡하게 파싱해야하는 경우 제외하면 걍 쓰지 않는거임 그러면..?
ㅇㅇ 글고 cpu 존나처먹음. catastrophic backtracking갖고 ReDoS도 하고 암튼 웬만하면 안쓰는게답
ㅇㅋ 땡큐
regex는 걍 웹할때만 쓰지
https://i.stack.imgur.com/ORL3Z.png
- dc App
구현체도 생각해봐야 - dc App
라인이존나긴가
개수찾는거면 개수만세지뭐하러 캡처링을함
OOM되는거랑 재귀호출은 연관 없지않나?
c++ regex가 느리긴 하던데