ํฐ์คํ ๋ฆฌ ๋ทฐ
728x90
๋ฐ์ํ
๋ฌธ์
๋ฌธ์ ํ์ด
์์ ๋ค๋ฃฌ ์๋ค์ ํฉ 2์ ์ ์ฌํ ๋ฌธ์ ์ด๋ค. ๋ค๋ฅธ ์ ์ด ์๋ค๋ฉด ํฉ์ด S ์ด์์ด ๋๋ ๊ฒ ์ค, ๊ฐ์ฅ ์งง์ ๊ฒ์ ๊ธธ์ด๋ฅผ ๊ตฌํ๋ ๊ฒ์ด๋ค. ์๋ค์ ํฉ 2์ ๋ง์ฐฌ ๊ฐ์ง๋ก ์ฌ์ ์ ๋์ ํฉ์ ๋ํ ๊ฐ์ ๊ณ์ฐํ๊ณ ์์, ๋ ์ง์ ์ ๋ฌ๋ฆฌํ์ฌ ์์ฐจ์ ์ผ๋ก ํ์์ ์งํํ๋ฉด ๊ฒฝ์ฐ์ ์๋ฅผ ๊ณ์ฐํ ์ ์๋ค.
์ฝ๋
from sys import stdin
if __name__ == '__main__':
answer = None
start, end = 0, 1
n, s = map(int, stdin.readline().split())
nums = list(map(int, stdin.readline().split()))
subtotal = [0] * (n + 1)
for i in range(1, n + 1):
subtotal[i] = subtotal[i - 1] + nums[i - 1]
while start < n:
if subtotal[end] - subtotal[start] >= s:
answer = min(answer, end - start) if answer else end - start
start += 1
elif end == n:
start += 1
else:
end += 1
print(answer if answer else 0)
728x90
๋ฐ์ํ
'๐จโ๐ป ์ฝ๋ฉํ ์คํธ > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฑ์ค: 1182 ๋ถ๋ถ์์ด์ ํฉ (0) | 2020.08.15 |
---|---|
๋ฐฑ์ค: 1644 ์์์ ์ฐ์ํฉ (0) | 2020.08.14 |
๋ฐฑ์ค: 2003 ์๋ค์ ํฉ 2 (0) | 2020.08.13 |
๋ฐฑ์ค: 2225 ํฉ๋ถํด (0) | 2020.08.12 |
๋ฐฑ์ค: 3055 ํ์ถ (0) | 2020.08.11 |
๋๊ธ
๊ธ ๋ณด๊ดํจ
์ต๊ทผ์ ์ฌ๋ผ์จ ๊ธ
์ต๊ทผ์ ๋ฌ๋ฆฐ ๋๊ธ