[C++]백준15904번 UCPC는 무엇의 약자일까?

less than 1 minute read

오늘은 백준15904번 UCPC는 무엇의 약자일까? 문제를 풀어보도록 하자.

알고리즘을 시작하는 친구가 풀길래 풀어보았다. 빈 문자열을 포함하여 받을 때는 getline(cin, 스트링 변수)를 쓰는 것을 잊지 말자.

문제는 다음과 같다.

                               [접근법]

  1. 어떻게라도 해서 UCPC를 만들면 된다.

  2. 즉, 처음에 U을 받을 땐 result가 비어있어야 하고, C를 받을 땐 U가 있어야 하고 P를 받을 땐 UC가 있어야 하고 C를 또 받을 땐 UCP가 있어야한다.
                                     [코드]
#include <iostream>
#include <string>
using namespace std;

int main() {
	string s,result = "";

	getline(cin, s);

	for (int i = 0; i < s.length(); i++) {
		if (s[i] == 'U' && result.empty()) {
			result += 'U';
		}
		else if (s[i] == 'C' && result == "U") {
			result += 'C';
		}
		else if (s[i] == 'P' && result == "UC") {
			result += 'P';
		}
		else if (s[i] == 'C' && result == "UCP") {
			result += 'C';
		}
	}
	if (result == "UCPC") {
		cout << "I love UCPC" << '\n';
	}
	else {
		cout << "I hate UCPC" << '\n';
	}
	return 0;
}