길이가 같은 두 문자열 S와 T가 주어진다. S는 문자 0, 1, ?로 이루어져 있고, T는 0과 1로만 이루어져 있다. 다음 세 가지 연산을 최소 횟수로 사용해 S를 T와 똑같이 만들어라.
- S에 있는
0 하나를 1로 바꾼다.
- S에 있는
? 하나를 0 또는 1로 바꾼다.
- S의 두 위치를 골라 두 문자를 맞바꾼다.
1을 0으로 되돌리는 연산은 없다.
예를 들어 S= 01??00, T= 001010이면 세 번의 연산으로 충분하다.
- 처음에 S=
01??00
- 첫 번째 연산으로 세 번째 문자를
1로 바꾸면 S= 011?00
- 두 번째 연산으로 네 번째 문자를
0으로 바꾸면 S= 011000
- 세 번째 연산으로 두 번째 문자와 다섯 번째 문자를 맞바꾸면 S=
001010