Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬으로 문자열의 단어 순서 뒤집기: 각 단어의 위치를 바꾸는 프로그램


공백으로 구분된 여러 개의 단어로 이루어진 문자열이 있다고 가정해 보겠습니다. 이때 우리가 수행해야 할 작업은 단어들의 순서를 거꾸로 뒤집는 것입니다.

예를 들어 입력 문자열이 "Hello world, I love python programming"이라면, 출력 결과는 "programming python love I world, Hello"가 되어야 합니다.

문제 해결 접근 방법

이 문제는 다음 세 단계를 거쳐 간단하게 해결할 수 있습니다.

  • 1단계: 문자열 s를 공백을 기준으로 분할(split)하여 단어들의 리스트를 생성하고 temp에 저장합니다.
  • 2단계: 리스트 temp의 요소 순서를 뒤집습니다(reversed).
  • 3단계: 뒤집힌 리스트 temp의 요소들을 공백으로 연결(join)하여 하나의 문자열로 만든 후 반환합니다.

파이썬에서는 split(), reversed(), join() 함수만으로 이 과정을 손쉽게 구현할 수 있습니다. 아래 예시 코드를 통해 더 자세히 이해해 보겠습니다.

예제 코드

class Solution:
    def solve(self, s):
        temp = s.split(' ')
        temp = list(reversed(temp))
        return ' '.join(temp)

ob = Solution()
sentence = "Hello world, I love python programming"
print(ob.solve(sentence))

입력

"Hello world, I love python programming"

출력

programming python love I world, Hello

코드 설명

s.split(' ')은 문자열을 공백 기준으로 나누어 ['Hello', 'world,', 'I', 'love', 'python', 'programming']과 같은 리스트를 만듭니다. 이후 list(reversed(temp))로 리스트의 순서를 반전시키고, 마지막으로 ' '.join(temp)를 사용해 각 단어를 공백으로 이어 붙여 최종 결과 문자열을 얻습니다. 이 방법은 시간 복잡도 O(n)으로 매우 효율적이며, 문장 내 단어 순서를 변경하는 다양한 상황에서 응용할 수 있습니다.