세 가지 색상(G, B, Y)의 문자열이 있습니다. 우리는 이러한 관계를 기반으로 결과 색상을 찾아야 합니다 -
- B * G =Y
- Y * B =G
- G * Y =B
문자열이 "GBYGB"이고 B라고 가정합니다. 문자열이 "BYB"이면 Y가 됩니다.
접근 방식은 간단합니다. 우리는 문자열을 취할 것입니다. 주어진 조건을 사용하여 각 알파벳을 인접한 문자와 비교하여 색상을 찾습니다.
예시
#include <iostream> using namespace std; char combination(string s) { char color = s[0]; for (int i = 1; i < s.length(); i++) { if (color != s[i]) { if ((color == 'B' || color == 'G') && (s[i] == 'G' || s[i] == 'B')) color = 'Y'; else if ((color == 'B' || color == 'Y') && (s[i] == 'Y' || s[i] == 'B')) color = 'G'; else color = 'B'; } } return color; } int main() { string color_str = "GBYBGY"; cout << "Color Combination Result: " << combination(color_str); }
출력
Color Combination Result: B