소문자로만 구성된 두 개의 문자열 s와 t가 있다고 가정합니다. 이제 문자열 t는 문자열 s를 무작위로 섞어서 생성한 다음 임의의 인덱스에 문자를 하나 더 추가합니다. t에 추가된 문자를 찾아야 합니다.
따라서 입력이 "mnopq","pqmnot"과 같으면 출력은 "t"가 됩니다. 이것은 추가 문자입니다.
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
-
합계 :=0, 합계 :=0
-
for initialize i :=0, i
-
sSum :=sSum + s[i]
-
-
j 초기화의 경우:=0, j
-
tSum :=tSum + t[j]
-
-
(tSum - sSum)을 문자로 반환
예시
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
#include <bits/stdc++.h> using namespace std; class Solution { public: char findTheDifference(string s, string t) { int sSum = 0; int tSum = 0; for (int i = 0; i < s.length(); i++) { sSum += s[i]; } for (int j = 0; j < t.length(); j++) { tSum += t[j]; } return char(tSum - sSum); } }; main(){ Solution ob; cout << (ob.findTheDifference("mnopq","pqmnot")); }
입력
"mnopq","pqmnot"
출력
t