[Algorithm] 백준 1929번 (파이썬) : 단어 뒤집기

Hyuk·2023년 2월 6일
0

https://www.acmicpc.net/problem/9093

풀이과정

단순 구현 문제이다.
주어진 문자열을 띄어쓰기를 기준으로 뒤집어서 출력하면 되는 간단한 문제이다.

첫 번째 코드

주어진 문자열을 리스트로 받은 후에 파이썬 문법을 통해 간단히 구현 가능하다.
그러나 알고리즘 실력 향상에 별 도움은 안되는 것 같다.

n = int(input())  # list 형식 사용

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

두 번째 코드

자료구조 stack 을 이용한 풀이이다.
주어진 문자열을 반복문을 통해 띄어쓰기를 만나기 전까지 stack 에 담고
띄어쓰기를 만나면 pop으로 하나씩 출력하는 방식이다.

n = int(input())  # stack 형식 사용

for _ in range(n):
	stack = []
    str = input() + " "
    for j in str:
        if j != " ":
            stack.append(j)
        else:
            while stack:
                print(stack.pop(), end = "")
            print(" ", end = "")

세 번째 코드

주어진 문자열을 split 함수로 나누어 배열로 만든 다음, 각각 pop을 통해 출력해준다.

n = int(input())

for _ in range(n):
    s = input()
    a = s.split()

    for el in a:
        arr = []

        for i in el:
            arr.append(i)

        for _ in range(len(arr)):
            print(arr.pop(), end='')
    
        print(end=" ")
    print()
profile
프론트엔드 개발자

0개의 댓글