개발/코테

[3일차] 프로그래머스 - 짝수의 합, 배열의 평균값, 피자 나눠 먹기(1), 분수의 덧셈

su-mmer 2023. 10. 26. 14:33
728x90

짝수의 합


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

리스트 컴프리헨션 사용

리스트의 값들을 모두 더해주는 sum 함수 사용

 

배열의 평균값


def solution(numbers):
    return sum(numbers)/len(numbers)

리스트의 합을 반환하는 sum 함수 사용

리스트의 길이를 반환하는 len 함수 사용

 

피자 나눠 먹기(1)


def solution(n):
    return n//7+1 if n%7 else n//7

나는 코드 그대로 생각해서 이렇게 풀었는데

n을 7로 나눠서 0이면 n//7을 하고 나머지가 있으면 n//7+1로 계산하여 리턴함

def solution(n):
    return (n - 1) // 7 + 1

다른 풀이에 수학적으로 푼 게 있었다.

 

분수의 덧셈


import math

def solution(numer1, denom1, numer2, denom2):
    numer = numer1*denom2 + numer2*denom1
    denom = denom1 * denom2

    return numer/math.gcd(numer, denom), denom/math.gcd(numer, denom)

파이썬에서 최대공약수를 구하는 gcd 함수를 사용했다.

gcd(a, b)의 값으로 a와 b의 최대공약수(정수)를 리턴한다.

분수의 덧셈을 한 후 분모의 최대공약수로 분모와 분자를 나눠 기약분수를 만든다.

728x90