이 글에서는 파이썬의 내장 함수를 활용해 문장에 포함된 각 단어를 역순으로 뒤집는 방법을 소개합니다. 먼저 문장을 단어 목록(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() 세 가지 기능만 조합하면 별도의 반복문 없이도 간결하게 문장의 각 단어를 뒤집을 수 있습니다. 리스트 컴프리헨션을 활용하면 코드가 더욱 짧고 가독성 좋아지므로, 실무에서도 자주 사용되는 유용한 패턴입니다.