[백준]9093 - 단어 뒤집기

·

1 min read

💡문제 분석 요약

-- 문제 --

입력 : T( 테스트 케이스의 개수)

  • 문장이 주어졌을 때, 단어를 모두 뒤집어서 출력하는 프로그램을 작성하시오. 단, 단어의 순서는 바꿀 수 없다. 단어는 영어 알파벳으로만 이루어져 있다.

💡알고리즘 설계

  1. input을 통해 T 입력받는다.

  2. 문장을 공백을 기준으로 나눈 후 리스트로 만든다.

  3. 결과 리스트를 만든다.

  4. 단어 리스트에서 각 요소를 가져온 후에 반대로 뒤집은 후 결과 리스트에 넣어준다.

  5. 결과 리스트 요소들을 공백으로 이어준다.

💡코드

import sys
T = int(input())
for i in range(T):
    words=sys.stdin.readline().split( )
    result=[]
    for word in words:
        result.append(word[::-1])
    sentence=" ".join(result)

💡시간복잡도

O(1)

💡틀린 이유

굳이 result리스트를 만들어서 넣어주는 작업을 함

💡틀린 부분 수정 or 다른 풀이

import sys
T = int(input())
for i in range(T):
    words=sys.stdin.readline().split( )
    for word in words:
        print(word[::-1], end=' ')

💡느낀점 or 기억 할 정보

  1. 처음 코테를 접하다보니 접근하는데 어려움을 느낌. -> 문제 많이 접해보기.

  2. 개념만 공부하지 말고 기본 구현한 코드 많이 접해보기.

  3. sys.stdin.readline.split()으로 나눈 후 리스트로 담아주기.

  4. [start:stop:step] : 슬라이스를 시작할 인덱스, 슬라이스를 끝낼 인덱스(미포함), 각 인덱스 사이의 간격(양수이면 정방향, 음수이면 역방향