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=' ')
각각의 단어를 알파벳으로 나누고, 나눠진 알파벳을 뒤집어서 재조합하는 방식으로 문제를 풀었다.