programming

XOR Strings 파이썬 풀이 및 해설


by Kitle · 2021. 01. 01.



오늘 풀어볼 알고리즘은 XOR Strings 결과 만들기입니다. 아주 쉬운 퀴즈입니다.

어렵지 않게 시작해보겠습니다.



문제

숫자 0과 1로만 구성된 두 문자열이 주어지면 두 문자열의 XOR을 찾습니다.

출력형식 : 두 입력 문자열의 XOR로 얻은 문자열을 한 줄에 인쇄합니다.

입력 예시 
10101
00101

출력 예시
10000

풀이

def strings_xor(s, t):
res = ""
for i in range(len(s)):
if s[i] == t[i]:
res += '0'
else:
res += '1'

return res

s = input()
t = input()
print(strings_xor(s, t))

해설

이번 문제는 이미 샘플 코드가 어느정도 완성 되어있고 완성하는 퀴즈이므로 주어진 조건을 가지고 완성해야 한다.
주어진 s, t 의 길이는 같은 길이가 주어지므로  for문으로 한글자씩 순회하며 비교하면된다.
range(len(s))로 길이를 알면 길이 만큼 순회한다. ex) 10101 이면 해당 문자열 길이 만큼 확인 가능하다. 
s[i] 로 접근하여 스트링의 index를 접근할 수 있다. 순서대로 len 5라면 range(5) 즉 0,1,2,3,4 순으로 접근가능하게 된다. index 접근은 0부터 시작함을 주의 해야 한다.
따라서 XOR연산 규칙에 따라 두 스트링이 같으면 0, 다르면 1을 문자열에 더해주고 최종 결과 문자열을 만들어 리턴해주면 된다. 


풀이 깃허브에서 보기 : https://github.com/kitlexyz/algorithm/blob/master/hackerrank/strings-xor.py 

원본 출처 : https://www.hackerrank.com/challenges/strings-xor/problem