728x90
๐ ๋ฐฑ์ค 17952 - ๊ณผ์ ๋ ๋๋์ง ์์!
๋ฌธ์ : ๋ฐฑ์ค 17952 - ๊ณผ์ ๋ ๋๋์ง ์์!
๐ก ๋์ ํ์ด
flag[0]
์ด0
์ธ ๊ฒฝ์ฐ์1
์ธ ๊ฒฝ์ฐ๋ก ๋๋์ด ์์ฑํ๋ค.flag[0]
๊ฐ 0์ผ ๋stack
์ด ์กด์ฌํ๋ฉด ๋งจ ๋ค์๋ถํฐ ์๊ฐ์ ํ์ธํ์ฌ 0์ธ ๊ฒฝ์ฐ์๋score
์ ์ถ๊ฐํ๊ณ 0์ด ์๋๊ฒฝ์ฐ์๋ ์๊ฐ์ด ํ๋ฅด๊ฒ-= 1
์ ํด์ค๋ค.flag[0]
๊ฐ 1์ด๋ฉด, ๊ณผ์ ๋ฅผ ๋ฐ์๋ง์ ์์ํ๊ธฐ ๋๋ฌธ์-1
์ ํด์ค ์ํ๋ก ๋ฃ๋๋ค.
๊ทธ๋ฐ๋ฐ ์ด๋ฐ ๋ฐฉ๋ฒ์ผ๋ก ํ์ง ์๋๋ผ๋ ๋ค๋ฅธ ์ฝ๋๋ฅผ ๋ณด๋๊น ์ฝ๋๋ฅผ ๋ฐ์ ๋ก ์ค์ผ ์ ์์๋ค. ๋ฐ๋ก ์๊ฐ๊ณผ ์ ์ ๋ณ์๋ฅผ ๊ฐ๊ฐ ์ ์ธํ๊ณ ๊ณ์ฐํ๋ ๋ฐฉ์์ด๋ค.
flag[0]
์ด1
์ธ ๊ฒฝ์ฐ๋ง ๊ณ ๋ คํ๋ค- ๋ง์ฝ,
flag[0]
์ด1
์ด๋ผ๋ฉดscore
์time
์ ๊ฐ๊ฐ ํด๋น ๊ฐ์ ๋ฃ๋๋ค. time
์ ๊ฐ์ด ๋จ์ผ๋ฉดtime -= 1
์ ํ๊ณtime
์ ๊ฐ์ด 0์ด๋ฉด ํด๋นscore
๋ฅผresult
์ ๋ฃ๋๋ค.time
๊ณผscore
๋ฅผpop
ํ๋ค.
๋ ๋ฒ์งธ ํ์ด ๋ฐฉ๋ฒ์ ๊ทธ๋ฆผ์ผ๋ก ๊ทธ๋ ค๋ดค๋ค. ์ดํด๊ฐ ์ ์ ๋๋ค๋ฉด ์ฐธ๊ณ ํ์.
# ์ฒซ๋ฒ์งธ ํ์ด๋ฐฉ๋ฒ
import sys
input = sys.stdin.readline
n = int(input())
stack = []
total_score = 0
for _ in range(n):
flag = list(map(int, input().split()))
if not flag[0]: # 0
if stack:
if not stack[-1][1]: # `stack[-1]` ์๊ฐ์ด 0์ด๋ฉด
total_score += stack[-1][0] # ์ ์ ์ถ๊ฐ
stack.pop()
else: # `stack[-1]` ์๊ฐ์ด ๋จ์ ์์ผ๋ฉด
stack[-1][1] -= 1 # ์๊ฐ์ด ํ๋ฅธ๋ค.
if not stack[-1][1]: # ์๊ฐ์ด ํ๋ฅด๊ณ ๋์ 0์ด๋ฉด
total_score += stack[-1][0] # ์ ์ ์ถ๊ฐ
stack.pop()
else: # 1 ? ?
score = flag[1]
time = flag[2]
project = [score, time - 1]
stack.append(project)
if stack:
if not stack[-1][1]:
total_score += stack[-1][0]
stack.pop()
print(total_score)
# ๋๋ฒ์งธ ํ์ด๋ฐฉ๋ฒ
import sys
input = sys.stdin.readline
n = int(input())
score, time = [], []
result = []
for _ in range(n):
flag = list(map(int, input().split()))
if flag[0]: # ์
๋ ฅ์ด 1 ? ? ์ธ ๊ฒฝ์ฐ
score.append(flag[1])
time.append(flag[2])
if time:
time[-1] -= 1
if not time[-1]:
result.append(score.pop())
time.pop()
print(sum(result))
๋ฐ์ํ
'Algorithm > ๋ฐฑ์ค(BOJ)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 10804 - ์นด๋ ์ญ๋ฐฐ์น (0) | 2021.07.18 |
---|---|
[ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 18110 - solved.ac (0) | 2021.07.13 |
[ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 20001 - ๊ณ ๋ฌด์ค๋ฆฌ ๋๋ฒ๊น (0) | 2021.07.12 |
[ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 2493 - ํ (0) | 2021.07.09 |
[ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 2504 - ๊ดํธ์ ๊ฐ (2) | 2021.07.07 |
๋๊ธ