길이가 같은 두 문자열 str1과 str2가 주어집니다.
두 문자열의 각 문자가 앞에서부터 서로 번갈아가면서 한 번씩 등장하는 문자열을 만들어 return 하는 solution 함수를 완성해 주세요.
1 ≤ str1의 길이 = str2의 길이 ≤ 10
str1과 str2는 알파벳 소문자로 이루어진 문자열입니다.
str1 str2 result
"aaaaa" "bbbbb" "ababababab"
def solution(str1, str2):
answer = ''
for s1, s2 in zip(str1, str2):
answer += s1 + s2
return answer
zip 함수로 str1와 str2 두 문자열을 받아서 하나의 튜플로 만들어줌 -> 그 문자열 내에서 각각의 s1, s2 요소가 반복해서 순서대로 순회함
그걸 answer 문자열에 더해줌
zip 함수
여러 개의 순회가능한 객체를 받아서 각 객체에서 하나씩 원소를 가져와서 튜플을 만들어주는 파이썬 내장 함수
예를 들어, 두 개의 리스트가 있을 때, zip 함수를 사용하여 각 리스트의 원소들을 순서대로 묶어 튜플로 만들 수 있습니다. 만약 입력으로 받은 iterable 객체들의 길이가 다를 경우, 가장 짧은 iterable 객체의 길이에 맞춰져서 반환됩니다.
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
answer = zip(list1, list2)
print(list(answer)) # 출력: [(1, 'a'), (2, 'b'), (3, 'c')]
zip 함수는 주로 반복문과 함께 사용되어 여러 개의 iterable 객체를 동시에 순회하며 작업할 때 유용하게 활용됩니다. 위의 코드에서 for 반복문과 함께 zip 함수를 사용하면 각 리스트의 원소를 동시에 접근할 수 있습니다.=> zip() + for반복문 : 각 리스트의 원소를 동시에 접근
for item1, item2 in zip(list1, list2):
print(item1, item2)
출력
1 a
2 b
3 c