-
[softeer] str concatenate 은 += 가 아닌 join 메소드를 사용하자Programming 기초/Coding Test 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의 길이만큼 걸린다.
'Programming 기초 > Coding Test' 카테고리의 다른 글
[softeer] 나머지 정리 활용 (0) 2024.06.26 [softeer] 진정한 효도 - python (0) 2024.06.26 [이코테] 특정 거리의 도시 찾기 (0) 2023.08.21 [이코테] 모험가 길드,럭키 스트레이트 (0) 2023.08.18 [이코테#다이나믹 프로그래밍] 1로 만들기(DP문제 기본 유형) (0) 2023.07.30