• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

너무 복잡하게 풀어버렸네요ㅠㅠ

22.11.06 18:53 작성 조회수 188

0

# 점수 계산
N = int(input())

l = list(map(int, input().split()))
score = [0] * N
for i in range(len(l)):
    if l[i] == 1:
        score[i] = 1
#print(score)

for i in range(1, len(score)):
    idx = i
    if score[i] == 1:
        while (score[i-1] != 0) and (i != 0):
            score[idx] += 1
            i -= 1
print(sum(score))
            

 

  1. 점수 리스트 그대로 채점 리스트 score 생성

  2. 첫번째 점수는 가중치 값이 없으니까 1부터 score배열의 길이까지 for문을 돌면서

  3. 만약에 채점내용이 1점이라면, while문 통해서 그 앞의 점수가 0이 아니고, i가 0이 아닐 때까지 현재 채점점수에 가중치 값 1을 더해주는 과정을 했습니다.

     

    선생님 풀이 보니 너무 간단하게 푸셨네요ㅠㅠ 간단한 문제를 너무 어렵게 푸는 경향이 있는 것 같아요. 일단 풀었다는거에 의의를 두고 강의보며 간단한 풀이법을 익히면 될까요?

답변 1

답변을 작성해보세요.

0

안녕하세요^^

네. 자신이 먼저 스스로 풀어보고 난 후 영상을 보시면서 비교분석하면 좋습니다.

잘 하고 계십니다.