https://www.acmicpc.net/problem/10773
[baekjoon]python #10773 ์ ๋ก
10773๋ฒ: ์ ๋ก
์ฒซ ๋ฒ์งธ ์ค์ ์ ์ K๊ฐ ์ฃผ์ด์ง๋ค. (1 ≤ K ≤ 100,000) ์ดํ K๊ฐ์ ์ค์ ์ ์๊ฐ 1๊ฐ์ฉ ์ฃผ์ด์ง๋ค. ์ ์๋ 0์์ 1,000,000 ์ฌ์ด์ ๊ฐ์ ๊ฐ์ง๋ฉฐ, ์ ์๊ฐ "0" ์ผ ๊ฒฝ์ฐ์๋ ๊ฐ์ฅ ์ต๊ทผ์ ์ด ์๋ฅผ ์ง์ฐ๊ณ , ์๋ ๊ฒฝ
www.acmicpc.net
์ฒ์์ ์๋ํ๋ ์ฝ๋ -- ์๊ฐ ์ด๊ณผ!๐ฅ
n=int(input())
stack=[]
for i in range(n):
temp = int(input())
if temp !=0:
stack.append(temp)
else:
stack=stack[0:len(stack)-1]
print(sum(stack))
๋๋ฒ์งธ๋ก ์๋ํ๋ ์ฝ๋ - ์ฑ๊ณต!
์ฒซ๋ฒ์งธ ์ฝ๋์์ sys.stdin.readline์ผ๋ก ์ ๋ ฅ์ ๋ฐ์๋ค. ํ์ง๋ง 5000ms๋ผ๋ ์๊ฐ์ด ๊ฑธ๋ ธ๋ค.
import sys
input = sys.stdin.readline
n=int(input())
stack=[]
for i in range(n):
temp = int(input())
if temp !=0:
stack.append(temp)
else:
stack=stack[0:len(stack)-1]
print(sum(stack))
์ธ๋ฒ์งธ๋ก ์๋ํ ์ฝ๋ - ์ ๋ต!
128ms!
import sys
input = sys.stdin.readline
n=int(input())
stack=[]
sumV=0
for i in range(n):
temp = int(input())
if temp !=0:
stack.append(temp)
sumV+=temp
else:
sumV-=stack[-1]
stack.pop()
print(sumV)
input๋ฐ๋ ์ซ์๋ฅผ temp์ ๋ฃ์ด์ฃผ๊ณ 0์ผ๋์ ์๋๋๋ฅผ ๊ตฌ๋ถํด stack์ ๋ฃ์ด์ฃผ๊ณ ๋นผ๋ ์์ ์ ํ๋ค.
์์ ์ฝ๋๋ค๊ณผ ๋ค๋ฅธ ์ ์ sumV๋ฅผ ํตํด ๊ณ์ฐ์ ์๋๋ฅผ ๋์๋ค๋ ์ ์ด๋ค!
๊ทธ๋์ ๋๋ฒ์งธ ์ฝ๋๋ณด๋ค ์ฝ 1/25์ ๋๋ก ์๊ฐ์ ๋จ์ถํ ์ ์์๋ค.
'Problem Solving > BAEKJOON' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[baekjoon]python #2805 ๋๋ฌด ์๋ฅด๊ธฐ (0) | 2022.06.23 |
---|---|
[baekjoon]python #1874 ์คํ ์์ด (0) | 2022.06.23 |
[baekjoon]python #10816 ์ซ์ ์นด๋ 2 (0) | 2022.06.03 |
[baekjoon]python #1920 ์ ์ฐพ๊ธฐ (0) | 2022.06.03 |
[baekjoon]python #1018 ์ฒด์คํ ๋ค์ ์น ํ๊ธฐ (0) | 2022.06.03 |
๋๊ธ