Notice
Recent Posts
Recent Comments
Link
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- ํ๋ก ํธ์๋
- heapq
- ๋ชจ๊ฐ์ฝ
- ๋ ธ๋ง๋์ฝ๋
- ํ๋ก๊ทธ๋๋จธ์ค
- HTML
- ๊ฐ๋ฐ
- KDT
- Python
- ํ ์ดํ๋ก์ ํธ
- CSS
- ์ฝ๋ฉํ ์คํธ
- Til
- fe
- ๋ฐฑ์ค
- node.js
- ๋๋ฆผ์ฝ๋ฉ
- ๊ตญ๋น์ง์
- JS
- javascript
- ํฌ๋กค๋ง
- ๊ทธ๋ฆฌ๋
- ์ฝ๋ฉ์ ํ
- ์ฝ๋ฉ
- ํ์ด์ฌ
- ํ๋ก์ ํธ
- mongodb
- react
- ์๊ณ ๋ฆฌ์ฆ
- error
Archives
- Today
- Total
๐ฑ → ๐ณ
[๋ฐฑ์ค] 1406๋ฒ: ์๋ํฐ python ๋ณธ๋ฌธ
728x90
https://www.acmicpc.net/problem/1406
๋๋ฌผ ์ค์ค ..
์ฝ์ง์ ์ฝ์ง์ ์ฝ์ง์ ์ฝ์ง์ ๋ํด ์ฑ๊ณต ๐ญ
๋ฌธ์ ์ ๋ณด
์คํ | ์ค๋ฒ2 | 1h32m | x |
์ค๊ณ ๋ฐฉ๋ฒ
๋์ ํ์ด
cursor์ ๋ฒ์๋ฅผ 0๋ถํฐ len(str)๊น์ง๋ก ์ก๊ณ if๋ฌธ์ ํ์ฉํ์ฌ ๊ฐ cmd ๋ง๋ค ์ํฉ์ ๋ง๊ฒ ํด๊ฒฐ
์๊ฐ์ด๊ณผ๊ฐ ์ผ์ด๋์ง ์์ ๋ค๋ฅธ ํ์ด
- sys.stdin.readline()์ ์ฐ๊ธฐ ์ํด์ import sys.
- 2๊ฐ์ ์คํ์ ์ด์ฉํ์ฌ ์ปค์๊ฐ ์์ง์ผ ๋ ๋ง๋ค ์ ์คํ์ append or pop → remove, insert์ ์๊ฐ ๋ณต์ก๋ O(n)/ stack์ push, pop ์๊ฐ๋ณต์ก๋ O(1)
- ์คํ ์ผ์ชฝ์ ํํํ st1 ๋ณ์์ ๋ฌธ์ ์ ๋ ฅ ๋ฐ์
- ์คํ ์ค๋ฅธ์ชฝ์ ํํํ st2 ๋ณ์์ ์คํ์ ์๊ธฐ ์ํด ๋น ๋ฆฌ์คํธ ์ด๊ธฐํ ํ ์์
- ์ปค์๊ฐ ์ผ์ชฝ์ผ๋ก ์์ง์ด๋ฉด st2.append(st1.pop()), ์ปค๊ฑฐ๊ฐ ์ค๋ฅธ์ชฝ์ผ๋ก ์์ง์ด๋ฉด st1.append(st2.pop()) ์ด๋ฐ์์ผ๋ก ๊ตฌํ
๐ ์ฃผ์. ๋ง์ง๋ง์ st1๊ณผ st2๋ฅผ ํฉ์น ์ st2.reverse()๋ก ํ๋ฉด st2๊ฐ ๋น์ด์์๋ ํ์ ์๋ฌ๊ฐ ๋๊ธฐ ๋๋ฌธ์ reverse(st2)๋ก ์์ฑํ ๊ฒ
์ฝ๋
๋ด ์ฝ๋
str = input()
n = int(input())
cursor = len(str)
for _ in range(n):
cmd = input().split()
if cmd[0] == "L" and cursor != 0:
cursor -=1
elif cmd[0] == "D" and cursor != n:
cursor +=1
elif cmd[0] == "B":
# remove
str = str[:cursor-1]+str[cursor:]
cursor -= 1
elif cmd[0] == "P":
# insert
str = str[:cursor]+ cmd[1] + str[cursor:]
cursor += 1
print(str)
์ ๋ต ์ฝ๋
import sys
st1 = list(input())
st2 = []
n = int(input())
for _ in range(n):
cmd = sys.stdin.readline().split()
if cmd[0] == 'L':
if st1:
st2.append(st1.pop())
elif cmd[0] == 'D':
if st2:
st1.append(st2.pop())
elif cmd[0] == 'B':
if st1:
st1.pop()
else:
st1.append(cmd[1])
st1.extend(reversed(st2))
print(''.join(st1))
์๊ฐ ๋ณต์ก๋
$O(1)$
์ด๋ ค์ ๋ ์
์๊ฐ์ ํ์ด 0.3์ด๋ก ๊ต์ฅํ ์งง๊ฒ ์กด์ฌํ์์ → sys importํด์์ ์๋ํ์ง๋ง ์คํจ
sys ๋งจ๋ ๋ณต์ฌ ๋ถ์ด๋ฃ๊ธฐ๋ง ํ๊ณ ๊ฐ๋ ์ ์ ๋๋ก ๋ชฐ๋ผ์ ํค๋งธ์
์ฐธ๊ณ ์๋ฃ
728x90
'Algorithms' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 11047๋ฒ: ๋์ 0 python (0) | 2023.01.08 |
---|---|
[๋ฐฑ์ค] 10845๋ฒ : ํ python (0) | 2023.01.06 |
[๋ฐฑ์ค] 1874๋ฒ: ์คํ ์์ด python (0) | 2023.01.04 |
[๋ฐฑ์ค] 9012๋ฒ: ๊ดํธ python (0) | 2023.01.03 |
[๋ฐฑ์ค] 9093๋ฒ: ๋จ์ด ๋ค์ง๊ธฐ python (0) | 2023.01.02 |