[프로그래머스 코딩테스트 입문]파이썬 분수의 덧셈
아니근데 이거 프로그래머스 입문문제 day2의 문제인데 진짜 여기서부터 막혀가지고 눈물이 차올라서 고갤들을뻔 했다가 질문하기 많은거 보고 안심 ㅋㅋㅋㅋ하고 아래 짤마냥 침착해졌음
정답1) for문으로 최대공약수 구하기
def solution(numer1, denom1, numer2, denom2):
a = numer1*denom2 + numer2*denom1 #분자
b = denom1*denom2 #분모
#최대공약수 구하기
result=[]
for i in range(a,0,-1): #range(시작값, 끝값, 증가치)
if a%i ==0 and b%i==0:
d=i
break
result.append(a/d)
result.append(b/d)
수업시간에 풀었던 최대공약수 문제를 활용해서 풀었다.
for 문 역순으로 돌리기 | |
문법 | for i in range(시작값, 끝값, 증가치) |
설명 | 증가치에 -1를 넣으면 역순으로 하나씩 줄어감 |
정답2) fractions모듈 활용 _김현우 , Louis , 조동건 , 박호준 외 78 명
from fractions import Fraction
def solution(denum1, num1, denum2, num2):
answer = Fraction(denum1, num1) + Fraction(denum2, num2)
return [answer.numerator, answer.denominator]
fractions 모듈 | |
문법 | #임포트하기 from fractions import Fractions Fraction(분자, 분모) #분자값 출력하기 변수.numerator #분모 변수.denominator |
설명 | 유리수(rational number_분수형식으로 나타낼 수 있는 수)를 계산할 때 사용하는 모듈 |
정답3) 최대공약수 함수 gcd 활용_ Sehyeon Jeong , lisayang011@gmail.com , 박지연 , 박경덕 외 22 명
import math
def solution(denum1, num1, denum2, num2):
denum = denum1 * num2 + denum2 * num1
num = num1 * num2
gcd = math.gcd(denum, num)
return [denum//gcd, num//gcd]
최대공약수 gcd 최소공배수 lcm | |
문법 | import math math.gcd(숫자1, 숫자2 ...) math.lcm(숫자1, 숫자2 ...) |
역시 파이썬 모듈의 세계는 공부하면 할 수록 모르는게 나오고 새롭구낭 이렇게 하나하나 알아가면 되는거지~! 처음에 내가 푼 방법이 가장 날코딩스럽닼ㅋㅋㅋㅋ 날코딩하지 말라지만,,, 일단 그래야지 실력이 느는거겠지? 오키 납득완~
'PYTHON' 카테고리의 다른 글
프로그래머스 파이썬 코딩테스트연습 입문 오답노트 한 번만 등장한 문자_python 알파벳순으로 문자열 정렬 구분자.join(sorted()) (0) | 2023.06.26 |
---|---|
파이썬 프로그래머스 코딩테스트 연습 2차원 만들기_.tolist() (0) | 2023.05.09 |
파이썬 프로그래머스 코딩테스트 입문 오답 노트 최빈값 구하기 (0) | 2023.05.06 |
파이썬 프로그래머스 오답노트 코딩테스트 입문 제곱수 판별하기: is_intiger() (2) | 2023.05.04 |
프로그래머스 파이썬 코딩 테스트 입문 오답 노트 - 숨어있는 숫자의 덧셈(1) (0) | 2023.05.03 |