본문 바로가기
Python 공부/· 알고리즘 문제풀이

2023/01/30 알고리즘 문제풀이

by Dreamvelope 2023. 1. 30.

23.01.30 문제풀이

문제출처:https://school.programmers.co.kr/

1. 두수의 합

def solution(num1, num2):
    answer = num1 + num2
    return answer

2. 두수의 차

def solution(num1, num2):
    answer = num1 - num2
    return answer

3. 두수의 곱

def solution(num1, num2):
    answer = num1 * num2
    return answer

4. 몫 구하기

def solution(num1, num2):
    answer = num1 // num2
    return answer

5. 두 수의 나눗셈

def solution(num1, num2):
    answer = (num1 / num2) * 1000
    return int(answer)

6. 숫자 비교하기

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

7. 분수의 덧셈

def solution(numer1, denom1, numer2, denom2):
    import math

    lcm = math.lcm(denom1,denom2)
    numer1 *= int(lcm/denom1) 
    numer2 *= int(lcm/denom2)
    return [numer1+numer2,lcm]

내가 짠 코드는 이건데... 프로그래머스에서 math 모듈사용이 안된다.

def solution(numer1, denom1, numer2, denom2):
    for i in range(max(denom1,denom2),denom1*denom2+1,1):
        if i % denom1 == 0 and i % denom2 == 0:
            lcm = i
            break

    numer1 *= (int(lcm/denom1))
    numer2 *= (int(lcm/denom2))
    return [numer1+numer2,lcm]

구글링을 이용해 math 함수 없이 최대공약수 구하는법을 찾아보았다.

여기서 코드의 경이로움을 느꼈다

근데 프로그래머스에서 실행 정확도가 33%가 나왔다... 테스트케이스 예제는 다 맞게 나오는데... %%^&%&

8. 배열 두배 만들기

def solution(numbers):
    answer = []
    for i in numbers:
        answer.append(i*2)

    return answer

 

댓글


반갑습니다 ✿ڿڰۣ— 조은하루 ^^
SSAFY 9기 김웅서 티스토리