본문 바로가기
Algorithms/코테 문풀

[백준 9093번] 단어 뒤집기

by hi-rachel 2023. 8. 13.

문제

https://www.acmicpc.net/problem/9093

 

9093번: 단어 뒤집기

첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문장이 하나 주어진다. 단어의 길이는 최대 20, 문장의 길이는 최대 1000이다. 단어와 단어 사이에는

www.acmicpc.net


풀이

- 처음 풀이

T = int(input())

for _ in range(T):
  statement = input().split()
  result = ""
  for word in statement:
    result += ''.join(reversed(word)) + ' '
  print(result)

방금 전 반복해서 여러 개를 입력받아야 하는 상황에서는 sys.stdin.readline()을 써야 한다는 글을 쓰고 바로 풀때 input()을 써버렸다..

2023.08.13 - [Algorithms/코테 문풀] - [백준 10828번] 스택

 

[백준 10828번] 스택

문제 https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같

hi-rachel.tistory.com

 

- 수정한 코드

import sys
input = sys.stdin.readline
for _ in range(int(input())):
  word = input().split()
  print(' '.join(word[::-1])[::-1])

 

단계별로 살펴보면 아래와 같은 과정으로 뒤집어진다.

중간에 list를 string으로 합쳐주고 전체를 다시 뒤집는 게 중요하다.

import sys
input = sys.stdin.readline
for _ in range(int(input())):
  word = input().split()
  print(word[::-1])  # ['today', 'happy', 'am', 'I'] 문장 전체 뒤집기
  print(' '.join(word[::-1]))  # today happy am I 공백 하나로 연결
  print(' '.join(word[::-1])[::-1])  # I ma yppah yadot 다시 문장 전체 뒤집기

 


 

참고

백준

 

 

'Algorithms > 코테 문풀' 카테고리의 다른 글

[백준 2941번] 크로아티아 알파벳  (0) 2023.08.17
[백준 2869번] 달팽이는 올라가고 싶다..  (0) 2023.08.17
[백준 10828번] 스택  (0) 2023.08.13
[백준 2475번] 검증수  (0) 2023.08.12
백준[10250번] ACM 호텔  (0) 2023.08.12