컴공생의 다이어리
[파이썬, Python] 백준 2015번 : 수들의 합 4 본문
백준 2015번 : 수들의 합 4
내 코드
import sys
input = sys.stdin.readline
n, k = map(int, input().split())
arr = list(map(int, input().split())) # 배열 데이터
sum_dict = {0: 1} # 누적합 관련 dict
sum_val = 0 # 누적합
answer = 0 # 합이 K인 부분합의 개수
for i in arr:
sum_val += i
if sum_val - k in sum_dict.keys(): # 현재까지의 누적합에서 k를 뺀 값이 sum_dict에 있다면
answer += sum_dict[sum_val - k] # answer에 해당하는 값의 value만큼 더하기
# sum_dict에 현재까지의 누적합에 해당하는 value 값에 1 더해주기
if sum_val in sum_dict.keys():
sum_dict[sum_val] += 1
else:
sum_dict[sum_val] = 1
print(answer)
728x90
'Development > Algorithm & Coding Test' 카테고리의 다른 글
[프로그래머스] 없어진 기록 찾기 - MySQL (0) | 2022.07.11 |
---|---|
[파이썬, Python] 백준 2512번 : 예산 (0) | 2022.07.10 |
[파이썬, Python] 백준 17352번 : 여러분의 다리가 되어 드리겠습니다! (0) | 2022.07.07 |
[파이썬, Python] 백준 1654번 : 랜선 자르기 (0) | 2022.07.06 |
[프로그래머스] 짝지어 제거하기 - 파이썬(Python) (0) | 2022.07.05 |
Comments