코딩,해볼까

07.13. 프로그래머스 : 홀짝에 따라 다른 값 반환하기 본문

Back/TIL

07.13. 프로그래머스 : 홀짝에 따라 다른 값 반환하기

떠굥 2023. 7. 14. 00:27

1. 나의 풀이

def solution(n):
    answer = 0
    result = []
    
    if n % 2 != 0:
        for i in range(1, n + 1):
            if (i % 2) != 0:
                result.append(i)
    elif n % 2 == 0:
        for i in range(1, n + 1):
            if (i % 2) == 0:
                result.append(i * i)
                
    for i in result:
        answer += i
        
        
    return answer

느낀 점 : 풀이를 쓰면서 간단한 방법이 있을 것 같았는데, 아직 코드를 간결화하는 것은 어렵다.

 

2. 다른 사람들의 풀이  바로가기 >

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

이 함수 풀이가 가장 마음에 들었다. range는 (시작,끝,배수) 이렇게 사용하는 방법을 알았는데 사용해볼 생각을 하지 못했다.

def solution(n):
    i = n%2
    ans = 0
    for j in range(1+int(not(i)),n+1, 2):
        if i == 1:
            ans += j
        else:
            ans += j**2
    return ans

range의 시작의 숫자에 따라서 홀짝을 구분할 수도 있다. 정말 대단한 사람들..

 

3. 배운 점

1) 다른 사람들의 풀이를 많이 참고하고, 위와 같은 함수들은 추후에 리팩토링 해보고 싶다.

2) 제곱 **

3) and or not 등 다양한 함수를 활용해보자

4) sum

Comments