[HackerRank] Append and Delete


[問題コード]
[入力]
string s:初期文字列
string t:作成する文字列
int k:演算を実行する最大回数
[演算]
  • 文字列sの末尾文字を削除します.sが空の文字列である場合、演算後も空の文字列です.
  • 文字列sに小文字を追加します.
  • [出力]
    上記の2つの演算を混合し、k回以内にsからtに変更すると「yes」となる
    そうでなければ「No」を出力します.
    [コード]
    def appendAndDelete(s, t, k):
        # Write your code here
        count = 0
    
        for i,j in zip(s,t):
            if i==j:
                print(i,j)
                count +=1
            else:
                break
        t_len = len(s)+len(t)
        if(t_len<=2*count+k and t_len%2==k%2 or t_len < k):
            return 'Yes'
        else:
            return 'No'