반응형
문제
https://www.acmicpc.net/problem/12605
해설
간단한 문자열 뒤집기였다. 여러 가지 방식으로 접근하여 문제를 해결해 보았다.
Solution 1.
스택을 사용하여 하나씩 pop 하는 걸 의도했을지도 모르겠지만 제목 그대로 나는 단어순서만 역정렬하여 해결하였다.
def solution(lst):
for i, s in enumerate(lst):
sentence = " ".join(s)
print(f"Case #{i+1}: {sentence}")
cnt = int(input())
sentences = [input().split(" ")[::-1] for _ in range(cnt)]
solution(sentences)
Solution 2.
아무 쓸모도 없고 가독성도 좋지 않지만 그냥 한 줄로 해보았다.
[print(f"Case #{i+1}: {s}") for i, s in enumerate([" ".join(input().split(" ")[::-1]) for _ in range(int(input()))])]
Solution 3.
스택을 이용해서도 풀어보았다.
def solution(lst):
for i, stack in enumerate(lst):
sentence = ""
for _ in range(len(stack)):
sentence = sentence + " " + stack.pop()
print(f"Case #{i+1}:{sentence}")
cnt = int(input())
sentences = [input().split(" ") for _ in range(cnt)]
solution(sentences)
반응형