1. 두 수의 나눗셈
(문제 설명, 제한 사항, 입/출력 예시)
문제는 함수의 매개변수로 주어진 정수 num1과 num2를 1,000으로 나눈 값을 곱하고 정수 부분만 반환하는 것이다.
(내가 생각한 해결 과정)
문자 그대로 두 값을 나누고 1000을 곱한 다음 정수를 반환합니다.
(암호)
내 코드
def solution(num1, num2):
return int(num1/num2*1000)
2. 숫자 비교
(문제 설명, 제한 사항, 입/출력 예시)
함수의 매개변수로 입력된 정수 num1과 num2가 같으면 1을 반환하고, 그렇지 않으면 -1을 반환합니다.
(내가 생각한 해결 과정)
물론 if 문을 사용하겠지만 파이썬 같은 코드를 사용했습니다.
(암호)
내 코드
def solution(num1, num2):
return 1 if num1==num2 else -1
3. 분수의 추가
(문제 설명, 제한 사항, 입/출력 예시)
첫 번째 분자와 분모로 number1과 denom1, 두 번째 분자와 분모로 number2와 denom2가 주어졌을 때, 두 분수의 합을 기약 분수로 나타내십시오.
(내가 생각한 해결 과정)
먼저 분모를 denom1과 denom2의 곱으로 설정합니다.
따라서 카운터의 값은 numer1에 denom2를 곱하고 numer2에 denom1을 곱하여 두 값을 더합니다.
그런 다음 두 함수가 두 분모의 최대 공약수만큼 줄어들면서 결과가 반환됩니다(최대 공약수는 수학 모듈의 gcd 함수를 사용하는 방법입니다).
(암호)
내 코드
import math
def solution(numer1, denom1, numer2, denom2):
numer3, denom3 = numer1*denom2 + numer2*denom1, denom1 * denom2
gcd = math.gcd(numer3, denom3)
return (numer3, denom3) if gcd==1 else (numer3/gcd, denom3/gcd)
다른 사람의 코드
분수 계수를 사용하여 분수를 쉽게 계산하는 방법도 있습니다.
from fractions import Fraction
def solution(denum1, num1, denum2, num2):
answer = Fraction(denum1, num1) + Fraction(denum2, num2)
return (answer.numerator, answer.denominator)
4. 어레이 복제
(문제 설명, 제한 사항, 입/출력 예시)
숫자 배열의 문제는 각 요소를 두 배로 하는 배열을 반환하는 것입니다.
(내가 생각한 해결 과정)
목록 이해력으로 문제를 해결했습니다.
(암호)
내 코드
def solution(numbers):
return (i*2 for i in numbers)
다른 사람의 코드
목록 내포로 해결할 수 있는 문제는 람다 및 지도 함수로도 해결할 수 있습니다.
def solution(numbers):
return list(map(lambda x: x * 2, numbers))