프로그래머스/파이썬_입문

짝수의 합

싱싱한복초이 2024. 10. 10. 16:46

https://school.programmers.co.kr/learn/courses/30/lessons/120831

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

[문제 설명]

정수 n이 주어질 때, n이하의 짝수를 모두 더한 값을 return 하도록 solution 함수를 작성해주세요.

 

[나의 풀이]

def solution(n):
    answer = 0
    for i in range(n+1):
        if i % 2 == 0:
            answer += i
    return answer

 

[다른 풀이]

def solution(n):
    return sum(range(2, n + 1, 2))
def solution(n):
    return sum([i for i in range(2, n + 1, 2)])

range는 이미 iterable 객체이기 때문에 list comprehension으로 다시 풀어 쓸 필요 없이 바로 sum 함수에 넣을 수 있다고 한다.

따라서 두번째 코드처럼 안 쓰고 첫번째코드처럼 짧게 쓰면 된다.

 

def solution(n):
    return 2*(n//2)*((n//2)+1)/2

등차수열 2n의 합공식이라네요

def solution(n):
    return sum(filter(lambda v: v % 2 == 0, range(n+1)))

 

'프로그래머스 > 파이썬_입문' 카테고리의 다른 글

배열 자르기  (0) 2024.10.11
외계행성의 나이  (0) 2024.10.11
양꼬치  (0) 2024.10.10
각도기  (0) 2024.10.10
특정 문자 제거하기  (0) 2024.10.10