반응형
문제 설명: 문자열 my_string과 정수 배열 index_list가 매개변수로 주어집니다. my_string의 index_list의 원소들에 해당하는 인덱스의 글자들을 순서대로 이어 붙인 문자열을 return 하는 solution 함수를 작성해 주세요.
제한사항
- 1 ≤ my_string의 길이 ≤ 1,000
- my_string의 원소는 영소문자로 이루어져 있습니다.
- 1 ≤ index_list의 길이 ≤ 1,000
- 0 ≤ index_list의 원소 < my_string의 길이
문제 해결
def solution(my_string, index_list):
answer = ''
for idx in index_list:
answer += my_string[idx]
return answer
def solution(my_string, index_list):
return ''.join(my_string[idx] for idx in index_list)
주석: 파이썬에서 문자열은 불변(Immutable) 객체이므로 += 연산자로 문자열을 반복 결합하면 매번 새로운 메모리가 할당되어 비효율적이다. 따라서 한 번의 메모리 할당만으로 문자열을 결합하는 ''.join() 메서드와 제너레이터 표현식을 사용하여 시간 복잡도와 메모리 효율을 모두 최적화했다.
반응형
'코딩_Python(Level.0)' 카테고리의 다른 글
| [Level.0] 문자 리스트를 문자열로 변환하기 (0) | 2026.03.08 |
|---|---|
| [Level.0] 문자열 곱하기 (0) | 2026.03.08 |
| [Level.0] n번째 원소부터 (0) | 2026.03.06 |
| [Level.0] 마지막 두 원소 (0) | 2026.03.06 |
| [Level.0] flag에 따라 다른 값 반환하기 (0) | 2026.03.06 |