문장이 주어졌을 때, 단어를 뒤집어서 출력하는 프로그램을 작성
(문장 전체가 뒤집어지지 않고 단어만!)
입력: 테스트 케이스 수, 테이트 케이스 수에 따른 문장
출력: 각 테스트 케이스에 대해 주어진 문장의 단어를 모두 뒤집어서 출력
띄어쓰기와 문장 끝 예외처리를 고려하여 코드를 작성했다.
temp_word list를 선언하여 띄어쓰기 전까지 단어만을 저장하였고,
띄어쓰기를 만나거나, 문장 끝(len 함수를 사용하여 문장 끝을 파악)에 도달했을 때
temp_word에 저장된 단어를 역순으로 result_word에 저장 후 반환하는 함수를 작성했다.
추가적으로 list에 저장되었기 때문에
'hello, world' -> ['d', 'l', 'r', 'o', ...] 식으로 출력된다.
따라서 나는 마지막에 리스트를 스트링으로 변환해주는 함수 join을 사용하였다.
def reverse_sentence(sentence):
temp_word = list()
result_word = list()
for i in range(0, len(sentence)):
if (sentence[i] != ' '):
temp_word.append(sentence[i])
elif (sentence[i] == ' '):
for j in range(len(temp_word)-1, -1, -1):
result_word.append(temp_word[j])
result_word.append(' ')
temp_word.clear()
if (i == (len(sentence) - 1)):
for j in range(len(temp_word)-1, -1, -1):
result_word.append(temp_word[j])
temp_word.clear()
return result_word
if __name__ == '__main__':
t = input()
for i in range(int(t)):
setence = input()
result_word = "".join(reverse_sentence(setence))
print(result_word)