본문 바로가기
이론/코딩테스트

[백준] 1343번 폴리오미노 (그리디 알고리즘)

by 퇴근후개발 2022. 8. 19.
반응형

-문제

-코드

#include<string>
#include<iostream>
using namespace std;

int main() 
{
	string s, r;
	int cnt=0;
	cin >> s;

	for (int i = 0; i < s.size(); i++)
	{
		if (s[i] == 'X') cnt++;
		else if (s[i] == '.')
		{
			r += ".";
			if (cnt % 2 != 0) break;
			cnt = 0;
		}

		if (cnt == 2 && s[i+1] != 'X')
		{
			r += "BB";
			cnt = 0;
		}
		else if (cnt == 4)
		{
			r += "AAAA";
			cnt = 0;
		}
	}

	if (cnt % 2 != 0) cout << -1;
	else cout << r;
	return 0;
}
반응형