문제

 

내가 작성한 코드
# 정수 K 입력
k = int(input())
v_l = []

for i in range(k):
    v = int(input())
    if v == 0:
        v_l.pop()
        continue
    else:
        v_l.append(v)
try:
    print(sum(v_l))
except:
    print(0)

 

코드 설명
k = int(input())
v_l = []

> k는 K개의 줄을 입력받아야 하는 값을 입력받았다.

> v_l 변수는 결과 출력하기 위한 빈 리스트입니다.

 

for i in range(k):
    v = int(input())
    if v == 0:
        v_l.pop()
        continue
    else:
        v_l.append(v)

> for문(반복문)을 k 길이만큼 사용하여, 값을 v 변수에 담게 했습니다.

> if - else 문을 사용하여 v 값이 0이라면 v_l 변수에 값을 빼주기 위해 v_l.pop() 함수를 사용해주었습니다.

> 그리고, 바로 다음 반복문으로 넘어가기 위해 continue 를 작성했습니다.

> v 값이 0이 아니라면, v_l 변수에 v 값을 append 시켜주었습니다.

 

try:
    print(sum(v_l))
except:
    print(0)

> try - except 문을 사용하여 오류발생할 시를 대비했습니다.

> try 문에는 최종 출력값인 v_l 변수의 합을 출력하기 위해서 sum(v_l) 함수를 적용하였습니다.

> except문에는 print(0)을 해주었는데, 그 이유는 리스트가 빌 때는 sum() 함수를 적용하면 에러가 발생하지 않을까 싶어 print(0) 을 해주었습니다.

+ Recent posts