Programming 기초/Coding Test
[softeer] str concatenate 은 += 가 아닌 join 메소드를 사용하자
코딩상륙작전
2024. 6. 25. 23:43
한양대 HCPC 2023] X marks the Spot
import sys
input = sys.stdin.readline
n = int(input())
result = []
for _ in range(n) :
s, t = input().split()
result.append(t[s.upper().find('X')].upper())
print("".join(result))
처음에 += 로 result를 작성했는데, 5초가 넘어버려서 시간 초과가 떴다.
join 메소드로 변경하니 시간이 1초대로 나왔다.
string은 +를 할 때 두 문자열 길이만큼의 연산 시간이 걸린다.
그 이유는 s1,s2 라는 각각의 변수에 string을 저장해두었다고 하면, s = s1+s2 연산시 새로운 메모리 공간에 s1를 복사하고 그 뒤에 s2를 복사해서 이 새로운 문자열의 주소값을 다시 s에 할당한다.
고로, 시간과 공간 모두 s1+s2의 길이만큼 걸린다.