[Python][백준 12605] 단어순서 뒤집기

Date:     Updated:

카테고리:

태그:

🔄 단어순서 뒤집기 문제 풀이

백준 12605번 단어순서 뒤집기 문제의 파이썬 풀이

📝 문제 설명

Image

💡 풀이

이 문제는 스택의 LIFO(Last In First Out) 특성을 활용하여 해결할 수 있다. 입력받은 문장의 단어들을 공백을 기준으로 분리한 후, 스택을 사용하여 역순으로 출력하면 된다.

🔍 코드 설명

  1. 테스트 케이스의 개수를 입력받는다.
  2. 각 테스트 케이스에 대해:
    • 문장을 입력받아 공백으로 분리한다.
    • 단어들을 스택에 저장한다.
  3. 각 스택에 대해:
    • “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")

Python Coding Test 카테고리 내 다른 글 보러가기