557. Reverse Words in a String III

Taesoo Kim·2023년 1월 7일
0

CrackingAlgorithm

목록 보기
9/36

557. Reverse Words in a String III

아직 투포인터라고 써져있는데도 투포인터로 접근을 못하겠다ㅋㅋㅋㅋ

class Solution:
    def reverseWords(self, s: str) -> str:
        words = list(s.split())
        result = []

        for i in words:
            result.append(i[::-1])

        return (' '.join(result))

split()함수를 이용해서 단어들을 space기준으로 나눠주고 뒤집어주며 마지막에 join으로 다시 다 합치는 방식이다.

힌트를 참고해서 투포인터로 접근해 보았다.

class Solution:
    def reverseWords(self, s: str) -> str:
        start = 0
        result = []
        for i in range(len(s)):
            if s[i] == ' ':
                result.append(s[start:i][::-1])
                start = i + 1
            
            if i == len(s) -1:
                result.append(s[start:i+1][::-1])
            
            
        return ' '.join(result)

아무래도 투포인터로 풀기 좀 억지가 있나..??
반복문 인덱스와 start가 투포인터이다. 인덱스가 빈칸을 만날때마다 그 start와 인덱스 사이의 문자를 뒤집어서 저장하고 마지막에 join으로 문자열로 만들어 리턴해준다. 문제는 마지막 단어는 빈칸이 없어서 인식을 못하는데, 그냥 인덱스가 끝에 도달했을때 나머지 문자열을 뒤집어 붙혀주는 방식으로 갔다.

profile
뭔 생각을 해. 그냥 하는 거지 뭐

0개의 댓글