[Python][백준 12605] 단어순서 뒤집기
카테고리: Python Coding Test
태그: coding test 문자열 백준 12605 스택 python
🔄 단어순서 뒤집기 문제 풀이
백준 12605번 단어순서 뒤집기 문제의 파이썬 풀이
📝 문제 설명
💡 풀이
이 문제는 스택의 LIFO(Last In First Out) 특성을 활용하여 해결할 수 있다. 입력받은 문장의 단어들을 공백을 기준으로 분리한 후, 스택을 사용하여 역순으로 출력하면 된다.
🔍 코드 설명
- 테스트 케이스의 개수를 입력받는다.
- 각 테스트 케이스에 대해:
- 문장을 입력받아 공백으로 분리한다.
- 단어들을 스택에 저장한다.
- 각 스택에 대해:
- “Case #n:” 형식으로 시작하고
- 스택에서 단어들을 하나씩 꺼내어 역순으로 출력한다.
✨ 참고
split()
은 문자열을 공백을 기준으로 분리한다.pop()
은 리스트의 마지막 요소를 제거하고 반환한다.- f-string을 사용하여 문자열을 포맷팅할 수 있다.
📝 코드
import sys
n = int(sys.stdin.readline().strip())
words_stacks = []
results = []
for i in range(n):
input_str = sys.stdin.readline().strip()
words = input_str.split()
words_stacks.append(words)
for i, words in enumerate(words_stacks):
result = f"Case #{i+1}:"
while words:
result += f" {words.pop()}"
results.append(result)
sys.stdout.write("\n".join(results) + "\n")