본문 바로가기
🔅코딩테스트 공부🔅/❗백준

[백준] 9093번 단어 뒤집기(with python)

by 윤무무 2023. 1. 28.

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

9093번: 단어 뒤집기

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

www.acmicpc.net

1. 내가 작성한 코드
n = int(input())
arr = []
for i in range(n):
  word = input().split()
  
  for i in word:
    i = list(i)
    n = len(i)
    for j in range(n//2):
      i[j],i[n-1-j] = i[n-1-j],i[j]
    print(''.join(i),end=' ')

단어의 제일 첫 스펠링과 마지막 스펠링의 자리를 바꿔주는 코드를 반복문으로 작성했다.

또한 len(word//2) 즉, 단어 길이의 반절만큼만 위 동작을 반복하면 금방 해결된다.

이건 불필요한 작업이 많이 필요해서 아래 방법 추천

2. 또 다른 방법 - 문자열 슬라이싱 이용하기
n = int(input())

for i in range(n):
  arr = []
  words = input().split()

  for word in words: 
    arr.append(word[::-1]) #문자열을 역순으로 바꾼 후 arr에 대입
  print(' '.join(arr))

댓글