
๐ป ์์ฑ ์ฝ๋
def find_maximum_score(N, S):
# ์ต๋ ์ ์์ ํ์ฌ๊น์ง์ ์ ์๋ฅผ ์ด๊ธฐํ
max_score = 0
current_score = 0
# ๊ฐ ์ฐธ๊ฐ์์ ์ ํ ๊ฒฐ๊ณผ๋ฅผ ์ํ
for num in range(1, N + 1):
if num == N: # ๋ง์ง๋ง ์ฐธ๊ฐ์์ ๊ฒฝ์ฐ
if S[num] == S[num - 1] + 1: # ์ฐ์ํ๋ ์ ์๋ผ๋ฉด ์ ์์ ๋ํด์ค
current_score += S[num]
else: # ์ฐ์ํ๋ ์ ์๊ฐ ์๋๋ผ๋ฉด
current_score = S[num] # ํ์ฌ ์ ์๋ฅผ ์ด๊ธฐํ
max_score = max(max_score, current_score) # ์ต๋ ์ ์๋ฅผ ์
๋ฐ์ดํธ
break # ๋ฐ๋ณต ์ข
๋ฃ
if num == 1:
current_score += S[num]
else:
if S[num] == S[num - 1] + 1: # ์ฐ์ํ๋ ์ ์๋ผ๋ฉด ์ ์์ ๋ํด์ค
current_score += S[num]
else: # ์ฐ์ํ๋ ์ ์๊ฐ ์๋๋ผ๋ฉด
max_score = max(max_score, current_score) # ์ต๋ ์ ์๋ฅผ ์
๋ฐ์ดํธ
current_score = S[num] # ํ์ฌ ์ ์๋ฅผ ์ด๊ธฐํ
return max_score
N = int(input())
S = [0] + list(map(int, input().split()))
answer = find_maximum_score(N, S)
print(answer)'์ฝ๋ฉ ํ ์คํธ > ๊ตฌ๋ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [lv.1] ๊ฐ์๋ฐ์๋ณด (Python) (0) | 2024.03.10 |
|---|