Algorithm/Solution

[백준] 11140번 - LOL(C++)

BeNI 2021. 9. 28. 19:17
728x90

https://www.acmicpc.net/problem/11140

 

11140번: LOL

당신 친구 지민이는 지금 할 일이 없다. 그리고 매우 심심하다. 그래서 쓸데없는 짓으로 시간을 때우려고 한다. 그래서 단어 하나가 주어질 때 단어에 'lol'이 들어가도록 글자를 추가하거나 변경

www.acmicpc.net


문제 설명 :

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