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

·2023년 4월 28일

백준 문제풀이

목록 보기
54/159

백준 9093번


최종 제출 코드

import sys

input = sys.stdin.readline

n = int(input())
sen = []

for i in range(n):
  sen.append(list(input().rstrip().split()))
  
  for j in range(len(sen[i])):
    result = list(sen[i][j])
    result.reverse()
    result = ''.join(result)
    sen[i][j] = result
    
  sen[i] = ' '.join(sen[i])

  print(sen[i])

문자열sort, reverse 등의 메소드 적용이 불가능

  • 문자열리스트에 적용되는 메소드를 구분하는 것에 유의!
  • 문자열을 역순으로 출력하고 싶으면 인덱스를 활용하여 string[::-1]과 같이 적용하면 된다.

✔ 다른 사람이 작성한 코드

Stack을 활용한 코드

import sys

input = sys.stdin.readline
n = int(input().rstrip())


for i in range(n):
  string = input().rstrip()
  string += " "
  stack = []

  for j in string:
    if j != ' ':
      stack.append(j)
    else:
      while stack:
        print(stack.pop(), end='')
      print(' ', end='')

.

list를 활용한 코드

import sys

input = sys.stdin.readline

n = int(input().rstrip())

for i in range(n):
    string = list(input().rstrip().split())
    for j in string:
        print(j[::-1], end=' ')
    print()

코드 출처 https://art-coding3.tistory.com/40


✔ 실행 결과

  • Stack을 활용한 코드보다 list를 이용한 코드가 3배 이상 빠름
profile
백엔드 개발자가 되고 싶어요(22.8.15~)

0개의 댓글