# 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 ```