[๋ฐฑ์ค] 9093๋ฒ: ๋จ์ด ๋ค์ง๊ธฐ python
https://www.acmicpc.net/problem/9093
9093๋ฒ: ๋จ์ด ๋ค์ง๊ธฐ
์ฒซ์งธ ์ค์ ํ ์คํธ ์ผ์ด์ค์ ๊ฐ์ T๊ฐ ์ฃผ์ด์ง๋ค. ๊ฐ ํ ์คํธ ์ผ์ด์ค๋ ํ ์ค๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉฐ, ๋ฌธ์ฅ์ด ํ๋ ์ฃผ์ด์ง๋ค. ๋จ์ด์ ๊ธธ์ด๋ ์ต๋ 20, ๋ฌธ์ฅ์ ๊ธธ์ด๋ ์ต๋ 1000์ด๋ค. ๋จ์ด์ ๋จ์ด ์ฌ์ด์๋
www.acmicpc.net
stack ์๋ฃ ๊ตฌ์กฐ๋ฅผ ์ด์ฉํ์ฌ ๊ตฌํ:
N=int(input())
for i in range(N):
string=input()
string+=" "
stack=[]
for j in string:
if j!=" ":
stack.append(j)
else:
while stack:
print(stack.pop(), end='')
print(' ', end='')
- j ๊ฐ์ด ๊ณต๋ฐฑ์ด ์๋ ๋๋ stack์ i ๊ฐ์ ๋ฃ๊ณ ๊ณต๋ฐฑ์ด๋ฉด stack ๋ฆฌ์คํธ๊ฐ ๋น ๋๊น์ง ๋ฆฌ์คํธ์ ๋ด์ฉ์ ์ถ๋ ฅ์ํค๋๋ก ๊ตฌํ
- string += " " ์ฝ๋๋ก ์ ๋ ฅ๋ฐ์ ๋ฌธ์์ ๋ง์ง๋ง์ ๊ณต๋ฐฑ์ ์ถ๊ฐํ์ฌ, ๋ง์ง๋ง์ ๋ค์ด๊ฐ๋ ๋จ์ด๋ stack ๋ฆฌ์คํธ์์ ๊บผ๋ผ ์ ์๋๋ก ๊ตฌํ
- end=""๋ก ์ ์ธํ์ฌ ๊ฐ์ ๋จ์ด๊ฐ ํ ๊ธ์์ฉ ๋์ด์ ์ถ๋ ฅ๋๊ฑฐ๋ ์ค ๋ฐ๊ฟ ๋์ด ์ถ๋ ฅ๋๋ ๊ฒ ๋ฐฉ์ง
Q) ๋๊ฐ์ ์ฝ๋์ธ๋ฐ ์ ์๋์ ์ฝ๋๋ ์ถ๋ ฅํ์์ด ์ ๋ชป ๋์๋ค๊ณ ๋ฐ๊น ? ใ
import sys
input = sys.stdin.readline
num = int(input())
# stack ์๋ฃ ๊ตฌ์กฐ๋ฅผ ์ด์ฉํ์ฌ ๊ตฌํ
for _ in range(num):
cmd = input()
cmd += " "
stack = []
for i in cmd:
if i!=" ":
stack.append(i)
else:
while stack:
print(stack.pop(), end='')
print(' ', end='')
list ๋ด๋ถ์์ ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ ํตํด ๊ตฌํ:
import sys
input = sys.stdin.readline
num = int(input())
for _ in range(num):
cmd = input().split()
for i in cmd:
print(i[::-1], end=' ')
- input().split() ํตํด ์ ๋ ฅ๋ฐ์ ๋ฌธ์์ด ๋์ด์ฐ๊ธฐ ๊ตฌ๋ถ์ผ๋ก list์ ์ ์ฅ
- list ๊ฐ ์์์ ์ ๊ทผํ์ฌ [::-1]๋ฅผ ํตํด ๋ค์ง์ด์ค
- end=' '๋ก ๋ฌธ์์ด ๋๋ ๋ ๋์ด์ฐ๊ธฐ
์์ ๋ฐฉ๋ฒ ์ธ์๋ for๋ฌธ ์ฌ์ฉ, python ๋ด์ฅํจ์์ธ reverse() ์ฌ์ฉ ๋ฑ์ ๋ฐฉ๋ฒ์ด ์กด์ฌํ๋ค.