[πŸ₯‡ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ μ½”ν…Œ μ—°μŠ΅] Lv.0 λΆ„μˆ˜μ˜ λ§μ…ˆ 문제

μ•ˆμ§€μˆ˜Β·2023λ…„ 2μ›” 17일
0
post-custom-banner

πŸ“— 문제 μ„€λͺ…:


-> λΆ„μˆ˜λ₯Ό λ”ν•˜λŠ” λ¬Έμ œμ΄λ‹€.

🎁 λ‚˜μ˜ μ½”λ“œμ™€ 풀이:

def solution(numer1, denom1, numer2, denom2):
    numer1 = numer1*denom2 
    numer2 = numer2*denom1   
    res_son = numer1 + numer2
    res_parent = denom1*denom2

    res = min(res_son, res_parent)
    
    for i in range(res+1,1,-1):
        if((res_son)%i ==0) and (res_parent%i==0):
            res_son = res_son/i
            res_parent = res_parent/i

    answer = [res_son, res_parent]
    return answer

-> λ‚˜λŠ” 파이썬의 λΌμ΄λΈŒλŸ¬λ¦¬λ‚˜ λͺ¨λ“ˆλ“€μ΄ μ•„λŠ” 게 많이 μ—†λ‹€.λ”°λΌμ„œ 직접 κΈ°μ•½λΆ„μˆ˜λ‘œ 약뢄을 ν•΄μ£ΌλŠ” λΆ€λΆ„μ—μ„œ μ½”λ“œμ— λŒ€ν•œ 고민이 λ§Žμ•˜λ‹€.
μ²˜μŒλΆ€ν„° λΆ„λͺ¨λ“€μ˜ μ΅œμ†Œκ³΅λ°°μˆ˜λ‘œ ν†΅λΆ„ν•˜λŠ” 것을 μ½”λ“œλ‘œ μ§œλŠ” 것은 λ³΅μž‘ν•΄μ§ˆ 것이라고 νŒλ‹¨λ˜μ–΄, 일단은 두 λΆ„λͺ¨λ₯Ό λͺ¨λ‘ κ³±ν•˜λŠ” 톡뢄을 ν•˜κ³ μž μœ„μ™€ 같이 res_son, res_parentλ₯Ό μƒμ„±ν•˜μ˜€λ‹€.
-> κ·Έ ν›„, κΈ°μ•½λΆ„μˆ˜λ‘œ λ§Œλ“œλŠ” κ³Όμ •μ—μ„œ λΆ„λͺ¨μ™€ λΆ„μžμ€‘ μž‘μ€κ°’κΉŒμ§€λ§Œ κ²€μ‚¬ν•΄μ„œ 약뢄을 ν•˜λ©΄ λœλ‹€κ³  νŒλ‹¨ν•˜μ˜€λ‹€.
-> μ²˜μŒμ—λŠ” for문을 2λΆ€ν„° res+1κΉŒμ§€ λ°˜λ³΅ν•˜λŠ” κ²ƒμœΌλ‘œ μ½”λ“œλ₯Ό μ§°λ‹€. ν•˜μ§€λ§Œ μƒκ°ν•΄λ³΄λ‹ˆ 4둜 λ‚˜λˆ μ§€λŠ” κ°’(20/24)의 κ²½μš°μ—λŠ” 2둜 ν•œ 번 λ‚˜λˆˆ ν›„, 2둜 ν•œ λ²ˆλ” λ‚˜λˆ„μ–΄ μ€˜μ•Όν•˜λŠ”λ°, 2둜 ν•œ 번 λ‚˜λˆˆ ν›„μ—λŠ” λ‹€μŒ i값인 3으둜 λ„˜μ–΄κ°€κ²Œ λœλ‹€. λ”°λΌμ„œ, 이런 μ˜ˆμ™Έλ₯Ό μ²˜λ¦¬ν•˜λŠ” 방법을 κ³ λ―Όν•΄λ³΄μ•˜λ‹€.
-> 2λ₯Ό 2번이 μ•„λ‹Œ 4둜 λ¨Όμ € λ‚˜λˆ„λ©΄ ν•œ λ²ˆμ— λ¬Έμ œκ°€ 해결될 것 κ°™λ‹€κ³  νŒλ‹¨ν•˜μ˜€κ³ , 큰 μˆ˜λΆ€ν„° 거꾸둜 λ‚˜λˆ„μ–΄λ³΄λ„λ‘ μ½”λ“œλ₯Ό λ‹€μ‹œ μ„€κ³„ν•˜μ˜€λ‹€.
-> 그리고 answer에 리슀트둜 λ°˜ν•œν•˜μ˜€λ‹€.

β­• λ‹€λ₯Έ μ‚¬λžŒλ“€μ˜ 풀이:

  1. math 라이브러리λ₯Ό import ν•˜μ—¬ gcd (μ΅œλŒ€κ³΅μ•½μˆ˜)ν•¨μˆ˜ μ‚¬μš© κ°€λŠ₯!/ lcm ν•¨μˆ˜: μ΅œμ†Œ 곡배수

  2. fraction λͺ¨λ“ˆ 톡해 λΆ„λͺ¨ 문자 ν˜•νƒœλ‘œ λ§Œλ“€ 수 있음/ numeratorλ₯Ό 톡해 λΆ„μž μ•Œ 수 있고, denominatorλ₯Ό 톡해 λΆ„λͺ¨μ•Œ 수 있음

πŸ‘ What I learned

& 파이썬의 λΆ„μˆ˜λ₯Ό κ΅¬ν•˜λŠ” fractionλͺ¨λ“ˆ, μ΅œλŒ€κ³΅μ•½μˆ˜ μ΅œμ†Œκ³΅λ°°μˆ˜ κ΅¬ν•˜λŠ” ν•¨μˆ˜μ— λŒ€ν•΄μ„œ μΆ”κ°€λ‘œ μ•Œκ²Œλ˜μ—ˆλ‹€. λ˜ν•œ, μ˜ˆμ™Έλ₯Ό μ²˜λ¦¬ν•˜λŠ” 방법에 λŒ€ν•œ 고민을 ν•΄λ³΄μ•˜κ³ , 그것을 λ°”νƒ•μœΌλ‘œ μ½”λ“œλ₯Ό μˆ˜μ •ν•˜μ˜€λ‹€.

profile
μ§€μˆ˜μ˜ μ·¨μ€€, 개발일기
post-custom-banner

0개의 λŒ“κΈ€