Coding Test/Undefined_Python

[Python] 연습 문제 모음Zip ( 함수 응용 )

  • -
728x90

파이썬을 연습할 수 있는 연습문제이다

문제와 답을 적어두었으며, 다른 답이 나올 수도 있다

 

문제에 대한 풀이가 필요하거나 추가적인 답변이 나올 경우 댓글을 통해 전달받고 업데이트하도록 하겠다


※본 문제는 함수를 사용하여 푸는 문제입니다

1번 

두 양의 정수를 매개 변수로 받아서 두 수의 최대공약수를 리턴하는 함수를 만드시오

더보기

Result Code 1

def prime(a, b):
    pr = []
    if a > b:
        for i in range(1, b+1):
            if a%i == 0 and b%i == 0:
                pr.append(i)
    elif a < b:
        for i in range(1, a+1):
            if a%i == 0 and b%i == 0:
                pr.append(i)
    else:
        pr.append(a)
    return max(pr)

a = 12
b = 6
print(prime(a, b))

 

Result Code 2 - 코드 축약(max 이용)

def prime(a, b):
    pr = []
    for i in range(max(a, b), 0, -1):
        if a%i == 0 and b%i == 0:
                return i
a = 12
b = 6
print(prime(a, b))

 

 

2번 

두 양의 정수를 매개 변수로 받아서 두 수의 최대공약수를 출력하는 함수를 만드시오(a=12, b=6일 때)

더보기

Result Code

def prime(a, b):
    pr = []
    if a > b:
        for i in range(1, b+1):
            if a%i == 0 and b%i == 0:
                pr.append(i)
    elif a < b:
        for i in range(1, a+1):
            if a%i == 0 and b%i == 0:
                pr.append(i)
    else:
        pr.append(a)
    return max(pr)

a, b = map(int, input().split())
print(prime(a, b))

Result Code 2

def prime(a, b):
    pr = []
    for i in range(max(a, b), 0, -1):
        if a%i == 0 and b%i == 0:
                return i
a, b = map(int, input().split())
print(prime(a, b))

 

 

3번 

 두 양의 정수를 매개 변수로 받아서 두 수의 최소공배수를 리턴하는 함수를 만드시오

더보기

Result Code

def prime(a, b):
    result = []
    for i in range(max(a,b), a*b+1):
        if i%a == 0 and i%b == 0:
            result.append(i)
        if len(result) != 0:
            return result[0]
    
a = 12
b = 6
print(prime(a,b))

 

4번 

 두 양의 정수를 매개 변수로 받아서 두 수의 최소공배수를 출력하는 함수를 만드시오

더보기

Result Code

def prime(a, b):
    result = []
    for i in range(max(a,b), a*b+1):
        if i%a == 0 and i%b == 0:
            result.append(i)
        if len(result) != 0:
            return result[0]
    
a, b = map(int, input().split())
print(prime(a,b))

 

5번 

2 이상의 양의 정수 하나를 입력받아서, 2부터 해당 정수까지의 정수 중 소수를 출력하는 함수를 만드시오

더보기

Result Code

def num(a):
    for i in range(2,a+1):
        count = 0
        for j in range(1, i+1):
            if i%j == 0:
                count = count + 1
        if count == 2:
            print(i)

num(100)

 

728x90
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.