본문 바로가기
[Baekjoon Online Judge] 풀이

[Baekjoon Online Judge] 백준 2506번: 점수 계산 파이썬 풀이 - 알고리즘 코딩 문제 해설 python

by codeomni 2023. 2. 16.
반응형

 

안녕하세요.

이번 포스팅은 백준 온라인 저지의 2506 문제 풀이입니다.

문제 이름은 "점수 계산" 입니다.

 

 

문제


문제 링크는 바로 밑의 링크를 확인해주세요.

https://www.acmicpc.net/problem/2506

 

2506번: 점수계산

OX 문제는 맞거나 틀린 두 경우의 답을 가지는 문제를 말한다. 여러 개의 OX 문제로 만들어진 시험에서 연속적으로 답을 맞히는 경우에는 가산점을 주기 위해서 다음과 같이 점수 계산을 하기로

www.acmicpc.net

 

 

풀이


1
2
3
4
5
6
7
8
9
10
11
= int(input())
score = list(map(int, input().split()))
result = 0
buf = 0
for i in score:
    if i == 1:
        buf += 1
        result += buf
    else:
        buf = 0
print(result)
cs

 

핵심. 순차적으로 탐색해서 해당 부분의 가산값만 총 점수에 더해주고, 0일 경우 가산값을 초기화합니다.

 

1. 문제의 수 N을 입력 받습니다.

 

2. 채점 결과를 리스트로 선언하여 입력 받습니다.

 

3~4. 총 점수를 저장할 변수와 앞의 문제를 맞췄을 때 가산되는 값을 저장할 변수를 선언합니다.

 

5. 채점 결과를 for문을 통해서 처음부터 끝까지 순차적으로 탐색합니다.

 

9~10. 해당 문제는 채점 결과가 0이 되면 가산 점수가 초기화 됩니다.

먼저, 0일 경우 점수도 0이지만 가산 점수도 초기화 되기 때문에 else 문으로 가산 점수 부분을 초기화합니다.

 

6~8. 점수가 1일 경우 가산 점수에 1을 더하고, 해당 부분의 최종 계산 값은 결과값에 저장합니다.

즉, 해당 부분의 맞은 점수인 1을 더해주는 것이 아니라 가산된 최종값만 저장합니다.

 

11. 총 점수를 출력합니다.

댓글