728x90
https://www.acmicpc.net/problem/11140
문제 설명 :
LOL이 나올 수있는 여러 가짓수를 생각해서 조건문을 만드는 문제였다.
L과 L사이에 알파벳 하나가 왔을 때 결과값이 1이 나와야 되는 경우 때문에 정규표현식을 이용하려고했는데
다까먹어서 엄청 헤맸다...저게 맞는지도 모르겠음 정답이라고 떴으니까 맞는거겠지
코드 :
#include <iostream>
#include <regex>
#include <string>
using namespace std;
int main() {
int t;
cin >> t;
for (int i = 0; i < t; i++) {
string s;
cin >> s;
regex number("[a-z]*l[a-z]l[a-z]*");
if (s.find("lol") != string::npos) {
cout << "0\n";
}
else if (s.find("lo") != string::npos || s.find("ol") != string::npos || s.find("ll") != string::npos || regex_match(s,number)){
cout << "1\n";
}
else if (s.find("l") != string::npos || s.find("o") != string::npos) {
cout << "2\n";
}
else {
cout << "3\n";
}
}
}
굉장히 더러운 코드! 난이도는 실버 3인가 그렇다.
728x90
'Algorithm > Solution' 카테고리의 다른 글
[백준] 7576 7569 토마토(C++) (0) | 2022.04.27 |
---|---|
[백준] 8979 올림픽 C++ 코드 (0) | 2022.03.17 |
[프로그래머스] 문자열 다루기 기본 (0) | 2021.08.26 |
[프로그래머스] 위클리챌린지 4주차 - 직업군 추천하기(C++) (0) | 2021.08.26 |
[프로그래머스] 두 개 뽑아서 더하기 (0) | 2021.08.25 |