๊ธฐ๋ก๋ฐฉ

BOJ_11659 : ๊ตฌ๊ฐ„ ํ•ฉ ๊ตฌํ•˜๊ธฐ 4 ๋ณธ๋ฌธ

CodingTest/Python

BOJ_11659 : ๊ตฌ๊ฐ„ ํ•ฉ ๊ตฌํ•˜๊ธฐ 4

Soom_1n 2022. 9. 5. 00:02

๐Ÿ‘‰ ๋ฌธ์ œ๋งํฌ

 

11659๋ฒˆ: ๊ตฌ๊ฐ„ ํ•ฉ ๊ตฌํ•˜๊ธฐ 4

์ฒซ์งธ ์ค„์— ์ˆ˜์˜ ๊ฐœ์ˆ˜ N๊ณผ ํ•ฉ์„ ๊ตฌํ•ด์•ผ ํ•˜๋Š” ํšŸ์ˆ˜ M์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” N๊ฐœ์˜ ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ˆ˜๋Š” 1,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค. ์…‹์งธ ์ค„๋ถ€ํ„ฐ M๊ฐœ์˜ ์ค„์—๋Š” ํ•ฉ์„ ๊ตฌํ•ด์•ผ ํ•˜๋Š” ๊ตฌ๊ฐ„ i์™€ j

www.acmicpc.net



๐Ÿ”ธ ๋ฌธ์ œ ๋ถ„์„ ๐Ÿ”ธ

  • ์ˆซ์ž ๋ฆฌ์ŠคํŠธ๋ฅผ ์ž…๋ ฅ๋ฐ›๊ณ , ํŠน์ • ๊ตฌ๊ฐ„์— ๋Œ€ํ•œ ํ•ฉ์„ ์ถœ๋ ฅํ•œ๋‹ค.

๐Ÿ”ธ ์ฝ”๋“œ ๐Ÿ”ธ

import sys

n, m = map(int, sys.stdin.readline().rstrip().split())
arr = list(map(int, sys.stdin.readline().rstrip().split()))
acc = [0]

for i in arr:
    acc.append(acc[-1] + i)

for _ in range(m):
    start, end = map(int, sys.stdin.readline().rstrip().split())
    sys.stdout.write(str(acc[end] - acc[start-1]) + "\n")

๐Ÿ”ธ ์ฝ”๋“œ ํ•ด์„ ๐Ÿ”ธ

  • n, m์˜ ๋ฒ”์œ„๊ฐ€ 10๋งŒ์ด๊ณ , ์ œํ•œ์‹œ๊ฐ„์ด 1์ดˆ์—ฌ์„œ ๋น ๋ฅธ ์ž…์ถœ๋ ฅ์„ ์‚ฌ์šฉํ–ˆ๋‹ค.
  • ์‹œ๊ฐ„์•ˆ์— ๋ˆ„์  ํ•ฉ์„ ๊ณ„์‚ฐํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋ฏธ๋ฆฌ ๋ฆฌ์ŠคํŠธ์˜ ์›์†Œ๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ๋ˆ„์ ํ•œ acc ๋ฆฌ์ŠคํŠธ๋ฅผ ๊ณ„์‚ฐํ•ด๋‘”๋‹ค.
    • -1 ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , ์ž…๋ ฅ ์ธ๋ฑ์Šค์™€ ๊ฐ’์„ ๋งž์ถ”๊ธฐ ์œ„ํ•ด ์ดˆ๊ธฐ๊ฐ’ 0์„ ๋„ฃ๋Š”๋‹ค. 
    • ์ธ๋ฑ์Šค start ~ end ์˜ ํ•ฉ์€ ๋ˆ„์  ๋ฆฌ์ŠคํŠธ์—์„œ end๋ฒˆ ์›์†Œ - (start-1)๋ฒˆ์›์†Œ์ด๋‹ค

 


๐Ÿ”ธ end ๐Ÿ”ธ

  • ์ฒซ ํ’€์ด์—์„œ ๊ทธ๋ƒฅ ๋ฆฌ์ŠคํŠธ ์Šฌ๋ผ์ด์‹ฑ์— sum()ํ•จ์ˆ˜๋กœ ํ•ฉ์„ ๊ตฌํ•˜๋‹ˆ ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋‚˜์™”๋‹ค.
  • ๋ฌธ์ œ์˜ ํƒœ๊ทธ๊ฐ€ ๋ˆ„์  ํ•ฉ์ด์–ด์„œ ๋ฏธ๋ฆฌ ๊ณ„์‚ฐํ•ด๋‘๋Š” ๊ฒƒ ๊ฐ™์•„ ๊ทœ์น™์„ ์ƒ๊ฐํ•ด๋ณด๋‹ˆ, ํ’€์ด๋ฅผ ๋– ์˜ฌ๋ฆด ์ˆ˜ ์žˆ์—ˆ๋‹ค.
  • ๋ˆ„์  ํ•ฉ ํƒœ๊ทธ๋Š” ์•„์ฃผ ๊ฐ„๋‹จํ•œ ๋ฌธ์ œ๋“ค๋งŒ ๋ดค์—ˆ๋Š”๋ฐ, ์ด์ œ ์ ์  ๋‚œ์ด๋„๊ฐ€ ์˜ฌ๋ผ๊ฐ€๋‚˜ ์‹ถ๋‹ค.
  • ๊ฒ€์ƒ‰ํ•˜์ง€ ์•Š๊ณ  ํ’€์ด์— ์„ฑ๊ณตํ•œ๊ฒŒ ๋ฟŒ๋“ฏํ•˜๋‹ค.

728x90

'CodingTest > Python' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

BOJ_11727 : 2ร—n ํƒ€์ผ๋ง 2  (0) 2022.09.06
BOJ_11726 : 2ร—n ํƒ€์ผ๋ง  (0) 2022.09.05
BOJ_9461 : ํŒŒ๋„๋ฐ˜ ์ˆ˜์—ด  (0) 2022.09.03
BOJ_9095 : 1, 2, 3 ๋”ํ•˜๊ธฐ  (0) 2022.09.03
BOJ_2579 : ๊ณ„๋‹จ ์˜ค๋ฅด๊ธฐ  (0) 2022.09.02