Programming_prob/BaekJoon

[백준] 9093번 단어 뒤집기

YongArtist 2020. 9. 13. 21:56
"""
BOJ Stack problem
"""

__author__ = 'hanayong'

stack = []


def push(word):
    global stack

    for _ in range(len(word)):
        stack.append(word.pop())


def pop():
    global stack

    if stack in []:
        return
    else:
        return stack.pop()


def reserve_words():
    global stack
    word_list = []
    for _ in range(len(stack)):
        word_list.append(pop()[::-1])
    print(' '.join(word_list))


if __name__ == '__main__':
    n = int(input())
    for _ in range(n):
        factors = input().split()
        push(factors)
        reserve_words()

스택을 공부하면서 스택 원리로 코드를 작성하고 싶어서 적어봤다.

"""
BOJ Stack problem
"""

__author__ = 'hanayong'


n = int(input())

for _ in range(n):
    strings = list(map(list, input().split()))
    for i in strings:
        print(''.join(i[::-1]), end=' ')

나름 pythonic하게 작성해 보았다. 그런데 여기서 더 간단한 방법이 있었다.

from sys import stdin

n = int(stdin.readline())
reversed_string = [list(map(lambda x: x[::-1], stdin.readline())) for _ in range(n)]

for word in reversed_string:
    print(*reversed_string)

 이렇게 또 배운다.