문제
https://www.acmicpc.net/problem/9093
풀이
- 처음 풀이
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번] 스택
- 수정한 코드
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 |