n개의 픽셀을 포함하는 이미지가 주어졌다고 가정합니다. 픽셀은 다음 색상일 수 있습니다. -
-
'C'(청록색)
-
'M'(자홍색)
-
'Y'(노란색)
-
'W'(흰색)
-
'G'(회색)
-
'B'(검정)
i번째 픽셀의 색상은 'pixels' 문자열에 지정됩니다. 문자열이 주어지면 주어진 사진이 컬러인지 흑백인지 알아내야 합니다. 컬러 사진인 경우 'C', 'M' 및 'Y' 색상 중 하나 이상의 픽셀이 포함되고 '색상'이 인쇄됩니다. 그렇지 않으면 'W', 'G', 'B' 색상의 픽셀만 포함되고 'BW'가 인쇄됩니다.
따라서 입력이 n =10, 픽셀 ="GBWYM"인 경우 출력은 색상이 됩니다.
단계
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
for initialize i := 0, when i < n, update (increase i by 1), do: if pixels[i] is not equal to 'B' and pixels[i] is not equal to 'W' and pixels[i] is not equal to 'G', then: print("Color") return print("BW")
예시
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
#include <bits/stdc++.h> using namespace std; #define N 100 void solve(int n, string pixels ) { for (int i = 0 ; i < n; i++) { if(pixels[i]!='B' && pixels[i]!='W' && pixels[i]!='G') { cout<<"Color"; return; } } cout<<"BW"; } int main() { int n = 10; string pixels = "GBWYM"; solve(n, pixels); return 0; }
입력
10, "GBWYM"
출력
Color