def appendAndDelete(s, t, k):
# Write your code here
cnt = 0
for a, b in zip(s, t):
if a != b:
break
cnt += 1
s = s[cnt:]
t = t[cnt:]
sl = len(s)
tl = len(t)
# 경우가 맞는건지 모르겠다.
# 1. 횟수와 move 횟수가 같은 경우
# 2. 이동 횟수가 k 이하이면서 짝수배인 경우(문자열이 2개니까 행동도 2번씩, 홀수면 안됨)
# 3. 전체 행동 횟수가 k보다 낮은 경우
if (k == sl + tl) or ((k - sl + tl) % 2 == 0 and k >= sl + tl) or (k >= cnt*2 + sl + tl):
return 'Yes'
else:
return 'No'
'# 코딩 문제 관련 > 파이썬' 카테고리의 다른 글
[HackerRank-python] Library Fine (0) | 2022.08.09 |
---|---|
[HackerRank-python] Sherlock and Squares (0) | 2022.08.09 |
[HackerRank-python] Find Digits (0) | 2022.07.30 |
[HackerRank-python] Jumping on the Clouds: Revisited (0) | 2022.07.28 |
[HackerRank-python] Sequence Equation (0) | 2022.07.28 |