less than 1 minute read

출처

연속된수의합 풀이

def solution(num, total):
    # 일단 0부터 시작하는 연속된수의 배열을 만든다.
    answer = [i for i in range(num)]
    
    # total값과 배열의원소합의 차이를 구해서, 배열의 각각의 원소를 조정해줄 값을 구한다.
    aligner = (total-sum(answer)) // num
    
    # 배열에 조정값을 더해서 반환해준다.
    return [n+aligner for n in answer]

분수의덧셈 풀이

import math

def solution(denum1, num1, denum2, num2):
    # 분모의 최소공배수를 구해, 공통분모를 구한다.
    num = num1*num2//math.gcd(num1, num2)
    
    # 공통분모와 원래 부모를 나눠서 분자에 곱해준다.
    # 그러면 공통분모일때, 분자의 합을 구할수 있다.
    denum = num//num1*denum1 + num//num2*denum2
    
    # 분자와 분모의 최대공약수를 구해서 기약분수로 만들어 반환한다.
    gcd = math.gcd(num, denum)
    return [denum//gcd, num//gcd]

Leave a comment