IT보안관의 공부 클라우드

[구름 Level2]외계인과 용돈기입장 본문

코딩 테스트/구름

[구름 Level2]외계인과 용돈기입장

ㅡㅡㅡㅡㄷ 2022. 6. 19. 15:24

https://level.goorm.io/exam/49111/%EC%99%B8%EA%B3%84%EC%9D%B8%EA%B3%BC-%EC%9A%A9%EB%8F%88%EA%B8%B0%EC%9E%85%EC%9E%A5/quiz/1

 

구름LEVEL

코딩테스트에서 가장 높은 비중을 차지하는 알고리즘 문제를 제작하고 풀이할 수 있는 온라인 저지 서비스입니다. 기업에서 선호하는 C, C++, 파이썬(Python), 자바(Java), 자바스크립트(Javascript) 이

level.goorm.io

import sys
input = sys.stdin.readline

N, M = map(int,input().split())
#1
money_list=list(map(int,input().split()))
#2
list1=[0,]
for i in range(len(money_list)):
	# print(list1[i],money_list[i])
	list1.append(list1[i]+money_list[i])
#3	
for i in range(M):
	a,b = map(int,input().split())
	total = 0
	#계산
	total = (list1[a - 1]*-1) + list1[b]
	
	#출력
	if total > 0:
		print('+',end='')
	print(total)
	
# 	1 2 3 4 5
# 	0 7 9 3 8 -1
# 

# 1~5 : -0 + -1 = -1
# 2~2 : -7(1) + 9 = +2
# 3~4 : -9(2) +8 = -1
# 3~5 : -9(2) -1 = -10

 

* 단순 계산으로 풀면 Timeout 발생

1. 수입 혹은 지출내역을 입력받은 후

2. 각 날짜 별 적자 흑자 값을 기록하는 리스트를 만들어서 저장

3. for 문을 통해 적자 흑자 값을 계산하여 출력

계산 방법
list 1의 각 날짜별 적자, 흑자 현황이 기록되어 있음.
a ~ b 일차 구간의 내역을 계산하려면
(a-1 일차 값 * (-1)) + b일차 값
Comments