코딩테스트

[25.12.03 코테(Python)]-짝수의 합&하샤드 수

지니248 2025. 12. 3. 11:39

Lv1. 짝수의 합 (Python)

링크: 코딩테스트 연습 - 짝수의 합 | 프로그래머스 스쿨

 

내가 작성한 코드

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

 

새로 배운 코드

def solution(n):
    return sum([i for i in range(2, n+1, 2)])
    
#range(2, n+1, 2): 2부터 시작하여 n까지 포함, 2씩 증가
#모든 짝수를 리스트로 만든 후 그 sum()으로 합을 반환

Lv1. 하샤드 수 (Python)

링크: 코딩테스트 연습 - 하샤드 수 | 프로그래머스 스쿨

 

내가 작성한 코드

def solution(x):
    digit_sum = 0
    
    for ch in str(x):
        digit_sum += int(ch)
    if x % digit_sum == 0:
        return True
    else:
        return False

 

새로 배운 코드

def solution(x):
    return x % sum(int(ch) for ch in str(x)) == 0

# sum(int(ch) for ch in str(x)): 
# 제너레이터 표현식 사용 -> 괄호로 표현함
# 리스트를 만들지 않고 값들을 하나씩 생성하여 효율적으로 계산
# sum(), max(), any() 등에 적합