반응형
문제 설명
문장이 주어졌을 때, 단어를 모두 뒤집어서 출력하는 프로그램을 작성하시오. 단, 단어의 순서는 바꿀 수 없다. 단어는 영어 알파벳으로만 이루어져 있다.
입력
첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문장이 하나 주어진다. 단어의 길이는 최대 20, 문장의 길이는 최대 1000이다. 단어와 단어 사이에는 공백이 하나 있다.
출력
각 테스트 케이스에 대해서, 입력으로 주어진 문장의 단어를 모두 뒤집어 출력한다.
예제 입력, 예제 출력
2 I am happy today We want to win the first prize |
I ma yppah yadot eW tnaw ot niw eht tsrif ezirp |
코드 및 설명
import sys
t = int(sys.stdin.readline())
for m in range(t):
t_arr = list(sys.stdin.readline().split(" "))
answer = ""
for j, t_str in enumerate(t_arr):
t_str = t_str.split("\n")[0]
for i in range(len(t_str)-1, -1, -1):
answer += t_str[i]
answer += "" if j == len(t_arr) else " "
print(answer)
이 문제는 문자열에 개수가 주어지고, 문자열을 입력 받아 공백 기준으로 단어들을 뒤집어서 출력 시켜주면 된다.
먼저 t에 입력받을 문자열의 개수를 받아주고,
t_arr에 받은 문자열을 배열화해주고
배열안에 첫번째 단어부터 불러와서 for문을 t_str의 길이만큼 -1씩 빼주면서 answer안에 단어를 저장한다.
그러면 뒤집어서 단어들이 저장되고, 완료 후 공백 처리도 해줘야하기 때문에 t_arr길이가 j와 같으면 공백을 넣지않고
나머지는 단어마다 공백이 있기때문에 넣어준다.
반응형
'삽집하는 개발들 > 알고리즘' 카테고리의 다른 글
[83일차][백준][자료구조, 구현, 문자열][1406]에디터 (5) | 2023.11.30 |
---|---|
[82일차][백준][자료구조, 구현, 문자열][9012]괄호 (3) | 2023.11.29 |
[82일차][백준][구현, 문자열][1032]명령 프롬프트 (2) | 2023.11.29 |
[81일차][백준][누적합][14929]귀찮아(SIB) (54) | 2023.11.28 |
[80일차][백준][누적합, 구현, 브루트포스][2435]기상청 인턴 신현수 (3) | 2023.11.27 |