# 2337. Move Pieces to Obtain a String
https://leetcode.com/problems/move-pieces-to-obtain-a-string/
```python=
class Solution:
def canChange(self, start: str, target: str) -> bool:
# if ''.join([x for x in start if x!='_']) != ''.join([x for x in target if x!='_']):
# return False
if start.replace('_', '') != target.replace('_', ''):
return False
start_L_li = []
start_R_li = []
for i,x in enumerate(start):
if x == 'L':
start_L_li.append(i)
if x == 'R':
start_R_li.append(i)
target_L_li = []
target_R_li = []
for i,x in enumerate(target):
if x == 'L':
target_L_li.append(i)
if x == 'R':
target_R_li.append(i)
for a,b in zip(start_L_li, target_L_li):
if b>a:
return False
for a,b in zip(start_R_li, target_R_li):
if b<a:
return False
return True
```