입력받은 문자열을 뒤집는 프로그램을 작성.
입력: 뒤집고자 하는 문장
출력: 조건에 맞추어 뒤집어진 문장
단어를 뒤집을 때 발생하는 예외처리를 먼저 정리한 후 코딩하면 효율적으로 작성할 수 있다.
내가 생각한 예외처리는
1) 2, 3, 4 을 제외한 다른 기호를 마주쳤을 때(알파벳, 숫자, '<'와 '>'를 제외한 특수문자)
2) '<'를 마주쳤을 때
3) ' '를 마주쳤을 때
4) '\n'를 마주쳤을 때
import sys
def reverse(sentence):
temp_word = list()
i = 0
while(i < len(sentence)):
if (sentence[i] == '<'):
if(len(temp_word)>0):
for w in range(len(temp_word)- 1, -1, -1):
print(temp_word[w], end = "")
temp_word.clear()
while (sentence[i] != '>'):
print(sentence[i], end="")
i += 1
print(sentence[i], end="")
i += 1
elif (sentence[i] == ' '):
if(len(temp_word)>0):
for w in range(len(temp_word) - 1, -1, -1):
print(temp_word[w], end="")
print(sentence[i], end="")
temp_word.clear()
i += 1
else:
print(" ")
i += 1
elif (sentence[i] == "\n"):
if (len(temp_word) > 0):
for w in range(len(temp_word)- 1, -1, -1):
print(temp_word[w], end = "")
print(sentence[i], end= "")
temp_word.clear()
i += 1
else:
print("\n")
i += 1
else:
temp_word.append(sentence[i])
i += 1
if __name__ == '__main__':
sentence = sys.stdin.readline()
reverse(sentence)