개발자일걸요..?

10773번 제로 본문

알고리즘코딩/Baekjoon Online Judge

10773번 제로

Re_A 2021. 2. 22. 19:05
728x90
반응형

문제링크 : www.acmicpc.net/problem/10773

 

10773번: 제로

첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경

www.acmicpc.net

 



<알고리즘>

  1) 입력받는 숫자가 0이 아니라면 배열의 첫번째에 삽입

  2) 입력받는 숫자가 0이라면 가장 최근 삽입된 요소를 지우는 pop함수 실행(단 최근 요소 출력X)

 

 

버전 1. 함수 이용(  메모리 : 29556KB    시간 : 2608ms )

numbers = []
def pop():
    del numbers[0]
import sys
N = int(sys.stdin.readline())
for _ in range(N):
    num = int(sys.stdin.readline())
    if(num==0):
        pop()
    else:
        numbers.insert(0,num)
result =0
for i in range(len(numbers)):
    result+=numbers[i]
print(result)

 

버전 2. main안에서 한번에 처리 ( 메모리 : 29556KB    시간 : 2552ms)

import sys
N = int(sys.stdin.readline())
numbers = []
for _ in range(N):
    num = int(sys.stdin.readline())
    if(num == 0):
        del numbers[0]
    else :
        numbers.insert(0,num)
result =0
for i in range(len(numbers)):
    result += numbers[i]
print(result)
반응형

'알고리즘코딩 > Baekjoon Online Judge' 카테고리의 다른 글

4949번 균형잡힌 세상  (0) 2021.02.22
9012번 괄호  (0) 2021.02.22
10828번 스택  (0) 2021.02.22
1541번 잃어버린 괄호  (0) 2021.02.21
1931번 회의실 배정  (0) 2021.02.21
Comments