728x90
기본
def solution(str1, str2):
answer = ''
for i in range(len(str1)):
answer+=str1[i]+str2[i]
return answer
str1과 str2의 문자열 길이가 동일하기 때문에 len을 활용해 쉽게 접근할 수 있는 풀이방법
zip(a, b)
두 개의 리스트를 하나로 묶어줌(zip)
def solution(str1, str2):
answer=''
for s1,s2 in zip(str1,str2):
answer+=s1+s2
return answer
저는 여기서 갑자기 dict이 생각났습니다. dict과 zip의 차이점은 뭘까요?
먼저 dict이란?
키-값 쌍을 저장하는 데이터 구조
각 키는 유일하며, 키를 사용하여 해당 값을 빠르게 찾을 수 있음
딕셔너리는 중괄호 {}를 사용하여 정의되며, 키-값 쌍은 key: value 형식으로 저장됨
# 딕셔너리 정의
my_dict = {'a': 1, 'b': 2, 'c': 3}
# 키를 사용하여 값에 접근
print(my_dict['a']) # 결과: 1
이처럼 zip()은 여러 시퀀스를 묶는 데 유용하고, dict()는 이 묶인 결과를 딕셔너리로 변환할 때 유용하게 사용할 수 있습니다!
또한, 두 개를 한 번에 사용할 수도 있습니다.
# 두 개의 리스트
keys = ['a', 'b', 'c']
values = [1, 2, 3]
# zip()으로 묶은 뒤 dict()로 딕셔너리 생성
my_dict = dict(zip(keys, values))
print(my_dict) # 결과: {'a': 1, 'b': 2, 'c': 3}
구분자. join(리스트)
def solution(str1, str2):
answer = ''.join([str1[i] + str2[i] for i in range(len(str1))])
return answer
아주 쉬운. join활용 예시
a = ['a', 'b', 'c']
# 리스트를 문자열로 합치기
result1 = "_".join(a)
print(result1) #결과 a_b_c
https://school.programmers.co.kr/learn/courses/30/lessons/181941
위의 문제도 join을 활용해서 아주 쉽게 해결할 수 있습니다!
728x90
'Python' 카테고리의 다른 글
코딩테스트 - python 모음 (0) | 2024.11.27 |
---|---|
시간복잡도 - 개념 (0) | 2024.09.13 |
프로그래머스/ python/ 등차수열의 특정한 항만 더하기 + 설명 (2) | 2024.09.10 |
코딩테스트 / 문자열 섞기/ Python + 설명 (2) | 2024.07.11 |
코딩 테스트 대소문자 바꿔서 출력하기/ Python + 추가 문제, 설명 (0) | 2024.07.08 |