알고리즘 문제를 풀다가 시간 초과가 났다.
도무지 이유를 모르겠어서 내친구 챗지피티에게 물어봤더니 단번에 답을 줬다.
// 문제의 코드
answer += 문자열
💡 문자열을 연결할 때는 '+'가 아닌 join을 쓰자!
☢️ 문자열 결합 최적화
문자열 결합 연산은 매우 느릴 수 있습니다. 문자열을 결합하는 대신, 리스트에 데이터를 추가하고 마지막에 join을 사용하여 문자열로 변환하는 것이 효율적입니다.
// 해결된 코드
''.join(answer)
"+"를 이용한 문자열 연결은 메모리 비효율 연산을 일으킨다.
왜냐하면 문자열은 불변인 객체이기 때문이다!!!
즉 "+" 연산자를 사용하여 문자열을 연결할 때마다 파이썬은 새롭게 임시 객체를 생성하여 새 문자열을 만든다.
Reference
https://towardsdatascience.com/do-not-use-to-join-strings-in-python-f89908307273