© 2025 anveloper.dev
GitHub·LinkedIn·Contact

목차

  • 문제
  • 입력
  • 출력
  • 예제
  • 풀이
  • 코드
  • 복잡도
풀이 목록으로 돌아가기

BOJ 5363 - 요다

2025-07-15
BOJ
브론즈 II
python
원본 문제 보기
구현
문자열

문제

BOJ 5363 - 요다

영화 스타워즈의 캐릭터 요다처럼 문장의 앞 두 단어를 뒤로 이동시키는 문제다. 입력된 문장의 첫 두 단어를 나머지 단어들 뒤에 붙여 출력한다.

입력

  • 첫 줄: 테스트 케이스 수 N
  • 이후 N줄: 공백으로 구분된 단어들로 이루어진 문장 (최소 3개 단어 이상)

출력

  • 각 문장에 대해 첫 두 단어를 뒤로 보낸 결과 출력

예제

입력출력
2 Eat it you must It is a trapyou must Eat it a trap It is

풀이

문장을 단어로 분리한 뒤 앞 두 단어와 나머지를 분리하여 순서를 바꾸어 이어 붙이는 단순 구현 문제다.

  1. 테스트 케이스 수 N을 입력받는다.
  2. 각 문장을 공백 기준으로 분리하여 단어 리스트를 만든다.
  3. 슬라이싱으로 앞 두 단어(sentence[:2])와 나머지(sentence[2:])를 분리한다.
  4. rest + front 순서로 합쳐 공백으로 이어 출력한다.

핵심 아이디어: Python 리스트 슬라이싱과 + 연산자를 이용하면 단 두 줄로 앞뒤 재배치가 가능하다. " ".join()으로 단어 사이에 공백을 복원한다.

코드

n = int(input())
 
for _ in range(n):
    sentence = input().split()
    front = sentence[:2]
    rest = sentence[2:]
    new_sentence = rest + front
    print(" ".join(new_sentence))

복잡도

  • 시간: O(W) — 각 문장의 단어 수 W에 대해 선형 처리
  • 공간: O(W) — 단어 리스트 저장