Problem Statement
You have two rows of marbles. Each marble has one of three colors: red ('R'), green ('G') or blue ('B'), and no two adjacent marbles have the same color. Rows are not circular, so the first marble in a row is not adjacent to the last.
You are given the
Definition
- Class:
- SwappingMarbles
- Method:
- swaptions
- Parameters:
- String, String
- Returns:
- int
- Method signature:
- int swaptions(String colors1, String colors2)
- (be sure your method is public)
Constraints
- colors1 and colors2 will each have between 3 and 50 characters, inclusive.
- Each character in colors1 and colors2 will be one of the following: 'R', 'G' or 'B'.
- Any two adjacent characters in colors1 will be different.
- Any two adjacent characters in colors2 will be different.
Examples
"RGBRBR"
"BRBGRG"
Returns: 1
The only acceptable way is to swap the 5-th marble from the first row ('B') with the second marble from the second ('R'). After this operation the rows will be equal to "RGBRRR" and "BBBGRG", respectively.
"RGRGR"
"GRG"
Returns: 2
Here you can swap the second marble from the second row ('R') with either the second or the fourth marble from the first row (both are 'G').
"BGBGBGBG"
"RBRBRBRBRB"
Returns: 0
"RBRBRBRBRBRBRBRBRBRBRBRBRBRBRBRBRBRBRBRBRBRBRBRBRB"
"BRBRBRBRBRBRBRBRBRBRBRBRBRBRBRBRBRBRBRBRBRBRBRBRBR"
Returns: 1152
"BRGBRGBRBRBGRBRBRBGRGBRGBRGBRGBRGB"
"RBGBGBRBRBGRGBRBRBGRBGRBGBGBRBGBRBGRGRGBRBRBR"
Returns: 41
"RGBG"
"BGBGBGB"
Returns: 3
"BGB"
"BGB"
Returns: 0
"BRB"
"RBR"
Returns: 1
"RBR"
"GRBRGBGRBGBGRGRGRBGRGBGBGBGBGRGRGRGRGRBRGBRGRGRBGR"
Returns: 0
"BRGBRBGBRBG"
"RGRGRGRBGRGRGRGRGBGBGBRGRGRGRGRGRGB"
Returns: 2
"GRBRGBRGRGBRGRGBRBGRGRBRGRGRGRGBGRBGBRGRGR"
"BGRGBRGRBGRBRGRGBGRBGRBGRBGBGRBGRGRGBR"
Returns: 57
"GRGRGRBRBRGRGRGRGRGBRGRBRBRBRBGRGRGBRBGRBRGRBRBGRB"
"RGRBGRBGBGRGBRGRGBGBRGBGRGRGRGBGRGRGRGBGRGBGBGBGRG"
Returns: 138
"BRBRGBRGBG"
"BGR"
Returns: 0
"GRGRGBGRBGB"
"BGRGRGRBGRGBGRGBGRGRGRGRBGBGBGBGBRGR"
Returns: 28
"BRGRBRGBGBRBRGR"
"BGRGBGRBGBGRGRBGRGRBRGRGRGBGRBGRGRBGBGRBRGRGRGR"
Returns: 24
"GBRGRGRGRBGRBRGRB"
"GRGRGBGRGBGBGRGRBGRGRGRGRGRBGRGRBGRGRGBRGBGRGRBRBR"
Returns: 67
"GRB"
"BRGRGRGBGBGRGBGRGRBGRBRGRGRGRGRGRBGRGRGRGRGRGRBRGR"
Returns: 0
"GRGRBGR"
"BRBRGRGRBG"
Returns: 3
"RBRBRBGRGRGRBRGRGRGRGBRBRB"
"BRGBGRGRGRGRGRGRGRGBGRGRGRGR"
Returns: 95
"BRGBRGRBRBRGBRBRGRBRBRGRBRGRGRGRGRBRBRGRGBRGRGRGRG"
"RBGBGRBGBGRGBRGRBGBGBGRGRGBGBGRGRBRBRGRBRGBRBGRBRB"
Returns: 112
"BGBRGRBRBRGRGBGRGRBRGRBGRGRGRBGBGRGBRBRGRBRGRGBRGR"
"BGRGBG"
Returns: 11
"BRGRGRGBRBRGRGRGBGRGRGRGBRGRBGRGRGRBRGRGRB"
"RGRBGRBRGRGBGRGRGBGBGRGRBGRGRBGBGRGRBGRGRGR"
Returns: 171
"GRGBGBRGBRGRGRBRGRGBRBRBRGRGBRBRBRGBGRGBRGBGRBRBRB"
"GRBGRGBGRGRBRGBRBGBGRGBRGRGBGRGBGRBRGRBGRGRBRGRGRG"
Returns: 94
"BRGBRBRBGRGRBRBRGRBGRGRGRGB"
"GRGRGRGRBRGBGRBGBGRGBGBGBGRGBGRGRBRGBGRGRGRGBGRBRG"
Returns: 69
"GRGRGRGRBGRGRGRGBGB"
"RGR"
Returns: 6
"RBGBGRGBGRGRBRBRGBRBGBRGRBRGRGRGRBRBGRGBRGRBGRGBGB"
"GRBGRGRGRGBGRGRBGRGRGRBRGRGRBRG"
Returns: 93
"RBGRBRGRGRGRGRBRBRGRGRGRGBGR"
"BGRBRGRGRGRGRGRBRGRGBGRBGBRBGRBGRBGRGRGBRGBRBRGRBG"
Returns: 107
"RBGRGRBRGRBRGRGBGRGRGRBRGBRGRBRGRGRGRGBGBRBRBRBRGR"
"GRBRGRBGBRBGBGRGB"
Returns: 32
"RGBRGRGRBRGRGRBGRBGRGRG"
"BRBRGRGRGBRGRGBGBGBGBGRGRGRGRGBGRBGRGRGBGBGBGRGBRB"
Returns: 80
"RGBRGRBRBRGRBGR"
"RBG"
Returns: 0
"GBGRBRGRGBRGRGRBRGBRGBRGBRBGBRGRB"
"BGRGRGRGBGRBRGBGBGRGRGRBGBGBGBRBG"
Returns: 40
"GRGRBRBRGRGRBRBGBRBRGBGBGBGBRGBGRGBGRBGBGRBGBR"
"RBGRBRGRBGRGBRBRBGRGRGRBGRBRGRGBGR"
Returns: 47
"RGBGRBRBGBGRGRBGBRGRBGRBRGBRGBRGRBRBRBGRBRGBRGRBRG"
"RGRBGBGRGRGRGBGRBGRGRGRBGRGRBGRGRGBRGRBGBRG"
Returns: 48
"RGR"
"RBGRGRBGRGRBRGRBRBRBGB"
Returns: 2
"GBRBRBRGRGBRGRGRGBGRGRBGBGRBRGBRGRGRGBGRGBGRGRBGRB"
"RBGBRGBRBRBGRBRGBGRGBRGRGBRBGRB"
Returns: 40
"RGBGRBG"
"RBGRGR"
Returns: 0
"BGRBRGBRBRBGBGRGRGRGRGBGBRGBRGRGRBRGRBRGRGBRBRBRBR"
"GRGRGBGRBGRBGRBGBGBGRGRGRGRBGRBRBGBGBGB"
Returns: 91
"BRBRGRGBRGRGRGRGBRGRGRBRGRGBRGRBGBGBRGRBGRGRGRGRGR"
"BGRBRGRBGRBGRGRBGBRGRGRGBRBRBRGRBGRBGBGBGRGRGRGRBR"
Returns: 173
"BGRGBGBRGRBGBRGRBRGRGBRGRGRGBGRGRGRGBRBGRGRGBRBGRG"
"BGBRGRBGRGBGBGRBRGRGRGRBGBGRGRGRGRBRGRGRGRGRGBGRBG"
Returns: 208
"GBRGRBRGRGRBRGBRGBRGBR"
"GRGRGRGRGRBGRGRGBGRGBGRGRGBGRGRGRGRGRGBGRGBGBGRBGB"
Returns: 55
"GRBGR"
"RGBGRGRGRBRBGRBGBGBRGRGRGBGRGRGBGRGRGBGBG"
Returns: 0
"RBRBRBRBRBRBRBRBRBRBRBRBRBRBRBRBRBRBRBRBRBRBRBRBRB"
"BRBRBRBRBRBRBRBRBRBRBRBRBRBRBRBRBRBRBRBRBRBRBRBRBR"
Returns: 1152
"BRB"
"RBR"
Returns: 1
"RBRGBR"
"BRBGBR"
Returns: 1