작심삼일

[LeetCode] 557 | Reverse Words in a String III | Python 본문

스터디/코테

[LeetCode] 557 | Reverse Words in a String III | Python

yun_s 2022. 9. 22. 09:27
728x90
반응형

문제 링크: https://leetcode.com/problems/reverse-words-in-a-string-iii/


문제

Given a string s, reverse the order of characters in each word within a sentence while still preserving whitespace and initial word order.


조건

  • 1 <= s.length <= 5 * $10^4$
  • s contains printable ASCII characters.
  • s does not contain any leading or trailing spaces.
  • There is at least one word in s.
  • All the words in s are separated by a single space.

내 풀이

주어진 string을 띄어쓰기(" ")를 기준으로 단어들로 분해한다.

각 단어를 거꾸로 뒤집어서(word[::-1]) 띄어쓰기와 함께 이어붙인다.

위 과정을 반복하고나면 ans의 맨 뒤에 " "가 한 칸 붙게되는데, 이를 제거하고 리턴한다.


코드

class Solution:
    def reverseWords(self, s: str) -> str:
        ans = ""
        
        for word in s.split(" "):
            ans += word[::-1] + ' '
        
        return ans[:-1]
728x90
반응형
Comments