Skip to content

Latest commit

 

History

History
57 lines (40 loc) · 1.59 KB

풀이_LC557.md

File metadata and controls

57 lines (40 loc) · 1.59 KB

🎃 557. Reverse Words in a String III

  • Date : 2021.10.24(일)
  • Time : 25분

Problem

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

Constraints

  • 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.

Example

  • Input: s = "Let's take LeetCode contest"
  • Output: "s'teL ekat edoCteeL tsetnoc"



풀이

    def reverseWord(self,word):
        end = len(word)-1
        answer = ""
        
        while(end >= 0):
            answer += word[end]
            end = end-1
        return answer
    
    def reverseWords(self, s: str) -> str:
        answer = ""
        word = ""
        i = 0
        
        while(i <= len(s)-1):
            if (s[i] != " "):
                word += s[i]
            else:
                answer += self.reverseWord(word) + " "
                word = ""
            i = i+1
            
        answer += self.reverseWord(word)
        return answer
    
        

: 이 문제는 띄어쓰기를 기준으로 문장을 뒤집는 문제였다. 그래서 일단 while문으로 진행하였다. 근데 for문으로 진행해도 상관 없을 것 같다. 나는 띄어쓰기를 검사해서 띄어쓰기를 만나기전에는 word에 단어를 쌓았다. 그리고 띄어쓰기를 만나면 지금까지 word에 모아 둔 단어를 또 다른 함수를 만들어서 뒤집어 주었다.