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

파이썬으로 문장의 각 단어를 거꾸로 뒤집는 프로그램 만들기

이 글에서는 파이썬의 내장 함수를 활용해 문장에 포함된 각 단어를 역순으로 뒤집는 방법을 소개합니다. 먼저 문장을 단어 목록(list)으로 분리한 뒤, 각 단어를 거꾸로 뒤집어 새로운 리스트를 만듭니다. 이 과정에서 리스트 컴프리헨션(List Comprehension) 기법을 사용하며, 마지막으로 새롭게 만들어진 단어 리스트를 다시 하나의 문장으로 합쳐 완성합니다.

실행 예시

입력 :: PYTHON PROGRAM
출력 :: NOHTYP MARGORP

알고리즘

1단계 : 문장을 입력받아 변수 s에 저장한다.
2단계 : 문장을 공백 기준으로 분리하여 단어 리스트를 만든다.
        w = s.split(" ")
3단계 : 각 단어를 뒤집어 새로운 단어 리스트 nw를 생성한다.
4단계 : 새로운 단어 리스트를 공백으로 연결해 새로운 문장 ns를 만든다.

예제 코드

# 문장의 각 단어를 뒤집는 함수
def reverseword(s):

    # 문장을 공백 기준으로 분리하여 단어 리스트 생성
    w = s.split(" ")

    # 리스트 컴프리헨션으로 각 단어를 뒤집어 새로운 리스트 생성
    nw = [i[::-1] for i in w]

    # 새로운 단어 리스트를 공백으로 연결하여 하나의 문장으로 합침
    ns = " ".join(nw)
    return ns

# 실행 코드
s = input("문장을 입력하세요 :: ")
print(reverseword(s))

코드 설명

  • s.split(" ") : 입력받은 문장을 공백을 기준으로 나누어 단어들의 리스트를 만듭니다.
  • i[::-1] : 슬라이싱 기법으로 문자열을 뒤에서부터 거꾸로 읽어 역순 문자열을 얻습니다.
  • [i[::-1] for i in w] : 리스트 컴프리헨션을 이용해 모든 단어에 대해 한 번에 뒤집기를 적용합니다.
  • " ".join(nw) : 뒤집힌 단어들을 공백으로 구분하여 하나의 새로운 문장으로 결합합니다.

출력 결과

문장을 입력하세요 :: PYTHON PROGRAM
NOHTYP MARGORP

마무리

이처럼 파이썬에서는 split(), 슬라이싱([::-1]), 그리고 join() 세 가지 기능만 조합하면 별도의 반복문 없이도 간결하게 문장의 각 단어를 뒤집을 수 있습니다. 리스트 컴프리헨션을 활용하면 코드가 더욱 짧고 가독성 좋아지므로, 실무에서도 자주 사용되는 유용한 패턴입니다.