반응형
[ Contents ]
1. 문제 (링크 참조)
2. 문제 풀이
오름차순으로 정렬된 수들이 입력으로 주어집니다. 연속된 수가 있을 경우, 가장 작은 수만 더한 점수를 구해야 합니다.
3. 코드
import sys
input = sys.stdin.readline
# 입력
n = int(input())
lst = list(map(int, input().split()))
# 점수계산
res = 0
first = lst[0] # 최초 시작점
pre = lst[0] # 이전값
for i in lst[1:]:
# 1씩 오름차순이 끊기면 이전 값 더하기
if i != pre + 1:
res += first
first = i
pre = i
res += first
print(res)
입력이 오름차순으로 정렬된 수가 주어지므로 따로 정렬할 필요가 없습니다.
연속된 수(1씩 오르는 경우)인지만 판별하고, 연속이 끊기면 가장 작은 수(시작 수)를 더해줍니다.
반응형
'Algorithm' 카테고리의 다른 글
[구현/수학] 백준 27522 카트라이더: 드리프트 - 파이썬(Python) (0) | 2023.05.02 |
---|---|
[구현/수학] 백준 27465 소수가 아닌 수 - 파이썬(Python) (0) | 2023.05.01 |
[구현/수학] 백준 25915 연세여 사랑한다 - 파이썬(Python) (0) | 2023.04.29 |
[구현/수학] 백준 2851 슈퍼 마리오 - 파이썬(Python) (2) | 2023.04.28 |
[구현/수학] 15372 A Simple Problem. - 파이썬(Python) (0) | 2023.04.25 |
댓글