๐ค ์ฝ๋ฉํ
์คํธ ์ค๋น/๋ฐฑ์ค์๊ณ ๋ฆฌ์ฆ
11. ๋ฐฑ์ค ํ์ด์ฌ #1406 [์๋ํฐ]
seoyeun
2021. 12. 16. 01:09
๋ฌธ์ ์ค๋ช
: ์ด ํธ์ง๊ธฐ๋ ์์ด ์๋ฌธ์๋ง์ ๊ธฐ๋กํ ์ ์๋ ํธ์ง๊ธฐ๋ก, ์ต๋ 600,000๊ธ์๊น์ง ์ ๋ ฅํ ์ ์๋ค.
์ด ํธ์ง๊ธฐ์๋ '์ปค์'๋ผ๋ ๊ฒ์ด ์๋๋ฐ, ์ปค์๋ ๋ฌธ์ฅ์ ๋งจ ์(์ฒซ ๋ฒ์งธ ๋ฌธ์์ ์ผ์ชฝ), ๋ฌธ์ฅ์ ๋งจ ๋ค(๋ง์ง๋ง ๋ฌธ์์ ์ค๋ฅธ์ชฝ), ๋๋ ๋ฌธ์ฅ ์ค๊ฐ ์์์ ๊ณณ(๋ชจ๋ ์ฐ์๋ ๋ ๋ฌธ์ ์ฌ์ด)์ ์์นํ ์ ์๋ค. ์ฆ ๊ธธ์ด๊ฐ L์ธ ๋ฌธ์์ด์ด ํ์ฌ ํธ์ง๊ธฐ์ ์ ๋ ฅ๋์ด ์์ผ๋ฉด, ์ปค์๊ฐ ์์นํ ์ ์๋ ๊ณณ์ L+1๊ฐ์ง ๊ฒฝ์ฐ๊ฐ ์๋ค.
์ด ํธ์ง๊ธฐ๊ฐ ์ง์ํ๋ ๋ช ๋ น์ด๋ ๋ค์๊ณผ ๊ฐ๋ค.
L : ์ปค์๋ฅผ ์ผ์ชฝ์ผ๋ก ํ ์นธ ์ฎ๊น (์ปค์๊ฐ ๋ฌธ์ฅ์ ๋งจ ์์ด๋ฉด ๋ฌด์๋จ)
D : ์ปค์๋ฅผ ์ค๋ฅธ์ชฝ์ผ๋ก ํ ์นธ ์ฎ๊น (์ปค์๊ฐ ๋ฌธ์ฅ์ ๋งจ ๋ค์ด๋ฉด ๋ฌด์๋จ)
B : ์ปค์ ์ผ์ชฝ์ ์๋ ๋ฌธ์๋ฅผ ์ญ์ ํจ (์ปค์๊ฐ ๋ฌธ์ฅ์ ๋งจ ์์ด๋ฉด ๋ฌด์๋จ)
์ญ์ ๋ก ์ธํด ์ปค์๋ ํ ์นธ ์ผ์ชฝ์ผ๋ก ์ด๋ํ ๊ฒ์ฒ๋ผ ๋ํ๋์ง๋ง, ์ค์ ๋ก ์ปค์์ ์ค๋ฅธ์ชฝ์ ์๋ ๋ฌธ์๋ ๊ทธ๋๋ก์
P$ : $๋ผ๋ ๋ฌธ์๋ฅผ ์ปค์ ์ผ์ชฝ์ ์ถ๊ฐํจ
๋ฌธ์ ํ์ด
-> ์ด๋ ๊ฒ ํ์๋๋ ๋ฐํ์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค...๐
import sys
string_list = sys.stdin.readline()
cursor = len(string_list)
for _ in range(int(input())):
command = list(input().split())
if command[0] == 'P':
string_list.insert(cursor, command[1])
cursor += 1
elif command[0] == 'L':
if cursor > 0:
cursor -= 1
elif command[0] =='D':
if cursor < len(string_list):
cursor += 1
else:
if cursor > 0:
string_list.remove(string_list[cursor-1])
print(''.join(string_list))
# ๋ค๋ฅธ ์ฌ๋ ํ์ด
append.pop ์ผ๋ก ํ์์ด์ผ ํ๋ค... ๐ง
import sys
s1 = list(sys.stdin.readline().strip())
s2 = []
m = int(sys.stdin.readline())
n = len(s1)
for i in range(m):
com = sys.stdin.readline().strip()
if com[0] == 'P':
s1.append(com[2]) #์ฒซ๋ฒ์งธ ์คํ์ ์ถ๊ฐ
elif com[0] == 'L' and s1 != []:
s2.append(s1.pop()) #์ปค์๊ฐ ์ผ์ชฝ์ผ๋ก ๊ฐ๋ค๋ ๊ฒ์ ์ฒซ๋ฒ์งธ ์คํ์์ pop ํ๊ฒ์ ๋๋ฒ์งธ๋ก ์ฎ๊ฒจ์ค
elif com[0] == 'D' and s2 != []:
s1.append(s2.pop()) #์ปค์๊ฐ ์ค๋ฅธ์ชฝ์ผ๋ก ๊ฐ๋ค๋ ๊ฒ์ ๋๋ฒ์งธ ์คํ์์ pop ํ๊ฒ์ ์ฒซ๋ฒ์งธ๋ก ์ฎ๊ฒจ์ค
elif com[0] == 'B' and s1 != []:
s1.pop()
print("".join(s1+ist(reversed(s2))))
https://www.acmicpc.net/problem/1406
1406๋ฒ: ์๋ํฐ
์ฒซ์งธ ์ค์๋ ์ด๊ธฐ์ ํธ์ง๊ธฐ์ ์ ๋ ฅ๋์ด ์๋ ๋ฌธ์์ด์ด ์ฃผ์ด์ง๋ค. ์ด ๋ฌธ์์ด์ ๊ธธ์ด๊ฐ N์ด๊ณ , ์์ด ์๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉฐ, ๊ธธ์ด๋ 100,000์ ๋์ง ์๋๋ค. ๋์งธ ์ค์๋ ์ ๋ ฅํ ๋ช ๋ น์ด์ ๊ฐ์
www.acmicpc.net