코딩 테스트/프로그래머스
[Python] 프로그래머스 부분 문자열 이어 붙이기
위시리
2024. 10. 12. 23:48
문제분석
- 문자열 배열 my_strings
- 이차원 정수 배열 parts 의 [s : e+1] 부분을 문자열 순서대로 이어 붙여 return
코드 설계
- 같은 index의 문자열에 대해서 부분 문자열 발췌
정답 코드
def solution(my_strings, parts):
answer = ''
for i in range(len(my_strings)):
str = my_strings[i]
part = parts[i]
answer += str[part[0]:part[1]+1]
return answer
다른 사람 풀이 1
def solution(my_strings, parts):
answer = ""
for i, (s, e) in enumerate(parts):
answer += my_strings[i][s:e+1]
return answer
(피드백) answer가 문자열로 선언되었는데, 문자열은 immutable 객체이므로 for문을 반복할 때마다 새로운 str을 계속해서 선언하게 됩니다. 이는 비효율적이므로, answer = [] 및 answer.append() 를 사용하면 더 좋을 것 같습니다!
다른 사람 풀이 2
def solution(my_strings, parts):
answer = ''
for s, (x, y) in zip(my_strings, parts):
answer += s[x:y+1]
return answer