본문 바로가기
프로그래밍/알고리즘

프로그래머스 알고리즘 - 02/25

by monicada 2022. 10. 13.
728x90

정수 num1 num2 매개변수로 주어질 , num1 num2 나눈 값에 1,000 곱한 정수 부분을 return 하도록 soltuion 함수를 완성해주세요.

def solution(num1, num2):
	return int((num1/num2)*1000)
    
//other 
import math

def solution(num1, num2):
	return math.trunc(num1 / num2 * 1000)

 

정수 num1 num2 매개변수로 주어집니다. 수가 같으면 1 다르면 -1 retrun하도록 solution 함수를 완성해주세요.

def solution(num1, num2)
	if(num1 == num2):
    	return 1
    else:
    	return -1
        
        
        //others
def solution(num1, num2):
	return 1 if num1==num2 else -1

 

번째 분수의 분자와 분모를 뜻하는 denum1, num1, 번째 분수의 분자와 분모를 뜻하는 denum2, num2 매개변수로 주어집니다. 분수를 더한 값을 기약 분수로 나타냈을 분자와 분모를 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요.

//나의 풀이 
# import math

# def solution(denum1, num1, denum2, num2):
#     x = (num2*denum1) + (num1*denum2)
#     y = num1*num2
#     a = [min(x), y]
#     return a
//분자, 분모구하는 것까지는 완료해서 테스트케이스 2개중 하나는 통과했음 
//근데 기약분수 처리를 어떻게해야할지 감이 안잡힘.. 막연하게 min..?이라는 생각에 했으나 풀리지 않음 


//다른 사람의 풀이 
import math

def solution(denum1, num1, denum2, num2):
	denum = denum1 * num2 + denum1 * num1 //분자
    num = num1 * num2 //분모
    gcd = math.gcd(denum, num)
    return [denum//gcd, num//gcd]
    
    
    
//다른 사람의 풀이 
from fractions import Fraction

def solution(denum1, num1, denum2, num2):
	answer = Fraction(denum, num1) + Fraction(denum2, num2)
    return [answer.numerator, answer.denominator]

 

정수 배열 numbers 매개변수로 주어집니다. numbers 원소에 두배한 원소를 가진 배열을 return하도록 solution 함수를 완성해주세요.

def solution(numbers):
	return [num*2 for num in numbers]
 
 
 
//다른 풀이
def solution(numbers):
	return list(map(lambda x: x * 2, numbers))

댓글