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
'Python 공부 > · 알고리즘 문제풀이' 카테고리의 다른 글
백준(12891번) - DNA 비밀번호 문제풀이 (0) | 2023.02.18 |
---|---|
2023.02.02 알고리즘 문제풀이 (2) | 2023.02.02 |
2023/02/01 알고리즘 문제풀이 (0) | 2023.02.02 |
2023/01/31 알고리즘 문제풀이 (0) | 2023.01.31 |
댓글