Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 결과 색상 조합 찾기

<시간/>

세 가지 색상(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