본문 바로가기
백준 (코테)

18. 단어 뒤집기(9093)

by 코린이의 세계 2024. 9. 4.
문제.

문장이 주어졌을 때, 단어를 모두 뒤집어서 출력하는 프로그램을 작성하시오. 단, 단어의 순서는 바꿀 수 없다. 단어는 영어 알파벳으로만 이루어져 있다.

첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문장이 하나 주어진다. 단어의 길이는 최대 20, 문장의 길이는 최대 1000이다. 단어와 단어 사이에는 공백이 하나 있다.

각 테스트 케이스에 대해서, 입력으로 주어진 문장의 단어를 모두 뒤집어 출력한다.

답:

n = int(input())
for i in range(n):
  s = list(input().split())
  for j in s:
    print(j[::-1], end=' ')
    
'''전체 설명'''
# a = ['a', 'b', 'c', 'd', 'e']
# 전체를 거꾸로 가져옵니다.
# a[ : : -1 ]
# ['e', 'd', 'c', 'b', 'a']

[::-1]은 뒤부터 거꾸로 가져온다는 뜻이다.

고로 일단 n을 기입하고, 0부터 n까지 문자열을 받고, 쪼갠다. 이후 list로 받아준다. 이 리스트는 s라는 변수에 기입해 준다.

이후 전부 받은 s안에서 (리스트) 뒤부터 출력을 해준다. 그러면 단어는 뒤집어지게 된다.

(리버스 이용해서 코드를 짤 수는 있지만, 자료구조적으로 해석하고 싶었다.)