본문 바로가기
Python

프로그래머스/ python/ 등차수열의 특정한 항만 더하기 + 설명

by YUNZEE 2024. 9. 10.
728x90

def solution(a, d, included):
    answer = 0
    
    for i in range(len(included)):
        if included[i] == True:
            answer += a+i*d
    return answer

 

문제 설명(첫 번째 예시)

  1. 등차수열이란?
    • 첫 번째 항이 a, 공차가 d인 등차수열은 다음과 같습니다:
    • 여기서 공차란? 연속된 두 항 사이의 일정한 차이(이해가 안된다면 예시 설명 고!)
      a, a + d, a + 2d, a + 3d,..., a + (n-1)d
    • 여기서 a는 첫 번째 항, d는 공차이며, n번째 항은 a + (n-1) d로 계산됩니다.
  2. 문제의 요구 사항
    • 주어진 included 배열은 각 항이 포함될지 여부를 나타냅니다.
    • included [i]가 True라면 해당 항을 합산하고, False라면 합산하지 않습니다.

예시 설명

  1. 첫 번째 예시

  • 입력값: a = 3, d = 4, included = [true, false, false, true, true]
  • 등차수열: (3+0*4) 3, ( 3+1*4 ) 7, ( 3+2*4 ) 11, ( 3+3*4 ) 15, ( 3+4*4 ) 19
  • included가 True인 항들을 더하면:
    • 1항 (3)
    • 4항 (15)
    • 5항 (19)
  • 합계는 3 + 15 + 19 = 37

코드

def solution(a, d, included):
    answer = 0
    
    for i in range(len(included)):
        if included[i] == True:
            answer += a+i*d
    return answer

 

728x90