Introfor

[백준] 9093번 stack 본문

Programming_prob/BaekJoon

[백준] 9093번 stack

YongArtist 2020. 9. 9. 20:22

기본적인 자료구조인 스택 관련 문제로 백준 사이트에 있는 문제를 풀어보았다.

__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()

위 소스코드는 스택 형태로 구현했다. 선입후출 구조를 구현해보기 위해 전역변수 stack을 만들고 push(), pop()을 구현했다.

위 방법이 아닌 더 쉬운 방법으로 구현이 가능하다.

__author__ = 'hanayong'


n = int(input())

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

각각의 단어를 알파벳으로 나누고, 나눠진 알파벳을 뒤집어서 재조합하는 방식으로 문제를 풀었다.

'Programming_prob > BaekJoon' 카테고리의 다른 글

[백준] 1406번 에디터  (0) 2020.09.11
[백준]1872번 스택 수열  (0) 2020.09.11
[백준] 10953번 / A+B - 6  (0) 2020.07.03
[백준] 10870번 / 피보나치 수 5  (0) 2020.07.01
[백준] 10872번 / 팩토리얼  (0) 2020.07.01
Comments