728x90
▼ 문제 바로가기 (링크) ▼
https://leetcode.com/problems/check-if-two-string-arrays-are-equivalent/
1개 이상의 문자열이 들어있는 리스트 2개가 주어진다.
각 리스트의 원소를 전부 문자열 형태로 붙여 합쳤을 때
두 리스트의 값이 같으면 True를 다르면 False를 반환하는 문제.
class Solution:
def arrayStringsAreEqual(self, word1: List[str], word2: List[str]) -> bool:
a = word1[0]
b = word2[0]
for i in range(1,len(word1)):
a += word1[i]
a = str(a)
for j in range(1,len(word2)):
b += word2[j]
b = str(b)
if a == b:
return True
else:
return False
Runtime: 35 ms, faster than 93.03%
Memory Usage: 14 MB, less than 33.11%
더 간결한 기능이 있을텐데..뭐였는 지 기억이 안 나서
반복문으로 각 원소를 이어준 후 str 형 변환하고 비교했다.
제출 후 discuss를 보니 join 함수를 사용한 풀이가 있었다. 아 맞다..!
class Solution:
def arrayStringsAreEqual(self, word1: List[str], word2: List[str]) -> bool:
word1 = "".join(word1)
word2 = "".join(word2)
return word1 == word2
리스트를 문자열 자료형으로 합칠 때 사용하는 함수 join()은
앞에 "".를 작성하고 그 안에 무엇을 사이에 두고 합칠 지를 적는다.
(아무것도 입력하지 않으면 공백 없이 붙는다.)
괄호 안에는 대상이 되는 리스트 변수명을 입력한다.
문자열을 나눠 리스트로 만드는 split의 반대개념!
split는 자주 써서 백지 상태에서도 자동으로 나오는데
이건 자꾸 잊는다..세트로 외워두자.
728x90
반응형
'코딩 테스트 > leetCode' 카테고리의 다른 글
[leetCode] 1827. Minimum Operations to Make the Array Increasing (Python) (0) | 2022.10.25 |
---|---|
[leetCode] 1323. Maximum 69 Number (Python) (0) | 2022.10.25 |
[leetCode] 709. To Lower Case (Python) (0) | 2022.10.24 |
[leetCode] 1816. Truncate Sentence (Python) (0) | 2022.10.24 |
[leetCode] 645. Set Mismatch (Python) (0) | 2022.10.23 |