반응형
문제
문제 수가 주어지고, 문제를 맞추면 처음엔 1 그 다음은 2 그 다음은 3..이렇게 1씩 증가하며 점수가 누적된다.
중간에 문제가 틀리면 다시 1점이 쌓이게 된다.
주의
풀이
n = int(input())
a = list(map(int, input().split()))
# 점수를 합해야 한다.
sum = 0
# 가중치
cnt = 0
# 리스트 a에서 첫 번째 인덱스 값부터 끝까지 하나씩 뺴준다.
for x in a:
# x가 1이랑 같다면 == 점수가 1점일 때
if x == 1:
# 연속으로 정답을 맞추면 1씩 증가된 값을 더해야 하기 때문에 cnt에 가중치를 준다.
cnt += 1
# 가중치 값을 sum(합계)에 담아준다.
sum += cnt
# x가 1이 아닐 때 == 정답이 아닐 때
else:
# 점수 가중치는 없으므로 0을 넣어주고
cnt = 0
# 다 끝나면 sum(합계)를 출력해준다.
print(sum)
주석을 참고한다.
반응형
'Algorithm > 파이썬 알고리즘 문제풀이 (코딩테스트대비)' 카테고리의 다른 글
[파이썬 알고리즘 문제풀이] : 숫자만 추출 (0) | 2021.12.29 |
---|---|
[파이썬 알고리즘 문제풀이] : 회문 문자열 검사 (0) | 2021.12.28 |
[파이썬 알고리즘 문제풀이] : 주사위 게임 (0) | 2021.12.23 |
[파이썬 알고리즘 문제풀이] : 뒤집은 소수 (0) | 2021.12.22 |
[파이썬 알고리즘 문제풀이] : 소수 구하기 (에라토스테네스의 체) (0) | 2021.12.21 |
댓글