logo

두 문자열의 차이점을 찾는 Python 프로그램

이 튜토리얼에서는 주어진 두 문자열 사이의 차이점을 찾기 위해 Python 프로그램을 작성합니다. 이 문제는 면접에서 물어볼 수 있습니다. 문제 설명을 이해한 다음 해결책에 접근하겠습니다.

문제 설명 -

두 개의 문자열이 주어졌습니다. 에스 그리고 티. 문자열 t는 문자열 s를 무작위로 섞은 후 임의의 위치에 문자를 하나 더 추가하여 생성됩니다. 우리는 다음에 추가된 문자를 반환하는 Python 프로그램을 작성해야 합니다. 티.

예 -

 Input: s = 'zxyc', t = 'zxyce' Output: 'e' Explanation: 'e' is the letter that was added. 

예 -

 Input: s = 'uvw', t = 'wyu' Output: 'y' Explanation: 'e' is the letter that was added. 

제약:

다음 제약 조건을 따라야 합니다.

파워셸과 배쉬
  • 0<= s.length <='1000</li'>
  • t.길이 == s.길이 + 1
  • s와 t는 영문 소문자로 구성됩니다.

파이썬 프로그램

다음 Python 프로그램을 이해해 봅시다.

예 -

 class Solution(object): def findTheDifference(self, s, t): ls_s = [s[i] for i in range(len(s))] ls_t = [t[i] for i in range(len(t))] for elem in ls_s: ls_t.remove(elem) return(ls_t[0]) obj = Solution() s = &apos;zxyc&apos; t = &apos;zxyce&apos; print(obj.findTheDifference(s, t) 

산출:

Java에서 int를 문자열로 변환
 &apos;e&apos; 

설명 -

위 코드에서는 두 개의 문자열을 인수로 사용하는 findThedifference() 함수를 정의했습니다. 우리는 문자열을 목록으로 변환하기 위해 목록 이해를 사용했습니다. 이제 우리는 반복합니다 ls_s 목록에서 단일 요소를 선택하고 해당 요소를 두 번째 목록에서 제거합니다. ls_t. 두 번째 요소에서 모든 요소가 제거되면 주어진 문자열이 모두 동일함을 의미하고, 그렇지 않으면 두 번째 목록의 첫 번째 요소를 반환합니다.

솔루션 - 2

문제의 또 다른 해결책을 살펴보겠습니다.

 class Solution: def findTheDifference(self, s: str, t: str) -&gt; str: #sort both the strings s_list = sorted(s) t_list = sorted(t) s_list.append(0) #to make the length equal else we will get list index out of bounds (1 extra char in string2) for i in range(len(t_list)): if s_list[i] != t_list[i]: #if character at i not same for both the strings, we get our answer return t_list[i] obj = Solution() s = &apos;zxyc&apos; t = &apos;zxyce&apos; print(obj.findTheDifference(s, t) 

산출:

 e 

설명 -

이 튜토리얼에서는 정렬() 문자열을 정렬된 방식으로 문자 목록으로 변환하는 메서드입니다. 두 개의 문자열 목록을 만들고 길이를 동일하게 만들기 위해 추가 요소를 0으로 추가했습니다. 그렇지 않으면 목록 인덱스가 범위를 벗어나게 됩니다. 이제 t_list를 반복하고 s_list 요소가 t_list와 동일하지 않습니다. 조건이 일치하면 해당 요소를 반환합니다.