์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- ํ๋ก ํธ์๋
- mongodb
- ์ฝ๋ฉ
- Til
- Python
- fe
- ๋ชจ๊ฐ์ฝ
- ๊ทธ๋ฆฌ๋
- ํฌ๋กค๋ง
- ๊ฐ๋ฐ
- react
- ๋ฐฑ์ค
- KDT
- javascript
- ํ๋ก์ ํธ
- ์ฝ๋ฉํ ์คํธ
- JS
- ํ๋ก๊ทธ๋๋จธ์ค
- ์๊ณ ๋ฆฌ์ฆ
- ๋๋ฆผ์ฝ๋ฉ
- HTML
- node.js
- ์ฝ๋ฉ์ ํ
- heapq
- ๋ ธ๋ง๋์ฝ๋
- error
- ํ ์ดํ๋ก์ ํธ
- CSS
- ๊ตญ๋น์ง์
- ํ์ด์ฌ
- Today
- Total
๐ฑ → ๐ณ
[๋ฐฑ์ค] 1874๋ฒ: ์คํ ์์ด python ๋ณธ๋ฌธ
https://www.acmicpc.net/problem/1874
1874๋ฒ: ์คํ ์์ด
1๋ถํฐ n๊น์ง์ ์์ ๋ํด ์ฐจ๋ก๋ก [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] ์ฐ์ฐ์ ์ํํ๋ฉด ์์ด [4, 3, 6, 8, 7, 5, 2, 1]์ ์ป์ ์ ์๋ค.
www.acmicpc.net
๋ฌธ์ ์ ๋ณด
์คํ | ์ค๋ฒ3 | 1h20m | X |
์ค๊ณ ๋ฐฉ๋ฒ
์ ๋ ฅํ ์๋ฅผ ๋ง๋ ๋ ๊น์ง ์ค๋ฆ์ฐจ์์ผ๋ก push
์ ๋ ฅํ ์๋ฅผ ๋ง๋๋ฉด while๋ฌธ ํ์ถ. ์ฆ cnt = num์ผ ๋๊น์ง while๋ฌธ์ ๋์ ์คํ์ ์์
stack์ top์ด ์ ๋ ฅํ ์ซ์์ ๊ฐ๋ค๋ฉด ์คํ์ top์ ๊บผ๋ด ์์ด์ ๋ง๋ค์ด ์ค
stack์ top์ด ์ ๋ ฅํ ์๊ฐ ์๋๋ผ๋ฉด ์ฃผ์ด์ง ์คํ์ ๋ง๋ค ์ ์์
์ค๋ฆ์ฐจ์์ผ๋ก ์คํ์ด ์ ๋ ฅ๋๋๋ฐ top์ด num๋ณด๋ค ํฌ๋ฉด num์ top๋ณด๋ค ๋ ์๋์ ์์ฌ์๊ธฐ ๋๋ฌธ
์ฝ๋
n = int(input())
stack=[]
op = []
cnt = 1
temp = 0
for i in range(n):
num = int(input())
while cnt <= num:
stack.append(cnt)
op.append('+')
cnt+=1
if stack[-1] == num:
stack.pop()
op.append('-')
else:
print('NO')
temp+=1
break
if temp == 0:
for i in op:
print(i)
์๊ฐ ๋ณต์ก๋
$O(n^2)$
์ด๋ ค์ ๋ ์
๋ฌธ์ ๋ฅผ ์ดํดํ๋ ๊ฒ ๋ถํฐ๊ฐ ์ด๋ ค์ ๋๋ฐ ์ดํดํ๊ณ ๋์๋ ์ด๋ค์์ผ๋ก ๊ตฌํํด์ผํ ์ง ๊ฐ์ด ์์กํ์ ๊ณ ์ํ๋ค
์คํ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ด์ฉํ๋ ๊ฒ์ ์๊ณ ์์์์๋ ๋ถ๊ตฌํ๊ณ 1,2,3,4๋ผ๋ ์ซ์๋ฅผ i+1๋ก stack์ ๋ฃ์ด์ผํ๋ค๊ณ ์๊ฐํ๋ ์ด๋ ค์์ด ์์๋๋ฐ cnt๋ก ์ฝ๊ฒ ๋ฃ์ ์ ์๊ตฌ๋ ๊นจ๋ฌ์๋ค
python list์์ ์ ๊ณตํด์ฃผ๋ [-1]์ด๋ฐ ๊ฒ๋ค์ ์๊ธฐ๋ง ์๊ณ ๋ฌธ์ ์ ์ ์ฉํ๋ ๋ฅ๋ ฅ์ด ๋จ์ด์ง๋ ๊ฒ ๊ฐ๋ค
์ฐธ๊ณ ์๋ฃ
'Algorithms' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 10845๋ฒ : ํ python (0) | 2023.01.06 |
---|---|
[๋ฐฑ์ค] 1406๋ฒ: ์๋ํฐ python (0) | 2023.01.05 |
[๋ฐฑ์ค] 9012๋ฒ: ๊ดํธ python (0) | 2023.01.03 |
[๋ฐฑ์ค] 9093๋ฒ: ๋จ์ด ๋ค์ง๊ธฐ python (0) | 2023.01.02 |
[๋ฐฑ์ค] 10828๋ฒ: ์คํ - python (0) | 2023.01.01 |