[python] 문자열 연결시 주의!

ch9eri·2024년 1월 30일
0

코테 - python

목록 보기
7/7

알고리즘 문제를 풀다가 시간 초과가 났다.
도무지 이유를 모르겠어서 내친구 챗지피티에게 물어봤더니 단번에 답을 줬다.

// 문제의 코드
answer += 문자열

💡 문자열을 연결할 때는 '+'가 아닌 join을 쓰자!

☢️ 문자열 결합 최적화
문자열 결합 연산은 매우 느릴 수 있습니다. 문자열을 결합하는 대신, 리스트에 데이터를 추가하고 마지막에 join을 사용하여 문자열로 변환하는 것이 효율적입니다.

// 해결된 코드
''.join(answer)

구체적인 이유...

"+"를 이용한 문자열 연결은 메모리 비효율 연산을 일으킨다.
왜냐하면 문자열은 불변인 객체이기 때문이다!!!
즉 "+" 연산자를 사용하여 문자열을 연결할 때마다 파이썬은 새롭게 임시 객체를 생성하여 새 문자열을 만든다.


Reference
https://towardsdatascience.com/do-not-use-to-join-strings-in-python-f89908307273

profile
잘하자!

0개의 댓글