πŸ—‚οΈ 2024.07.16 TIL

DonghyunΒ·2024λ…„ 7μ›” 16일
0

TIL (Today I Learned)

λͺ©λ‘ 보기
17/53
post-thumbnail

Python

μ†Œμˆ˜ νŒλ³„ν•˜κΈ° (자주 λ‚˜μ˜€λ‹ˆ κΌ­ κΈ°μ–΅ν•˜μž!)

μ†Œμˆ˜ ν™•μΈν•˜λŠ” 방법:

  • μ–΄λ–€ μˆ˜μ— λŒ€ν•΄ 2λΆ€ν„° 자기 μžμ‹ -1 κΉŒμ§€μ˜ λͺ¨λ“  μˆ˜λ“€μ„ ν™•μΈν•˜λ©° λ§Œμ•½ κ·Έ 수둜 λ‚˜λˆ λ–¨μ–΄μ§€λ©΄ μ†Œμˆ˜ X, λ‚˜λˆ  떨어지지 μ•ŠμœΌλ©΄ μ†Œμˆ˜μ΄λ‹€.

파이썬으둜 16이 μ†Œμˆ˜μΈμ§€ νŒλ³„ν•˜λŠ” μ½”λ“œλ₯Ό κ΅¬ν˜„ν•˜λ©΄ λ‹€μŒκ³Ό κ°™λ‹€:

prime = True
for i in range(2, 16):  # 2 λΆ€ν„° 15κΉŒμ§€ μ†Œμˆ˜μΈμ§€ ν™•μΈν•˜κΈ°
    if 16 % i == 0:  # μ•½μˆ˜λ‘œ μžκΈ°μžμ‹ μ΄ λ‚˜λˆ μ§€λ©΄ μ†Œμˆ˜κ°€ μ•„λ‹ˆλ‹€.
        prime = False

print(prime)
  • κ²°κ³Ό: False

μœ„μ˜ μ½”λ“œλŠ” νŒλ²Œν•˜κ³ μž ν•˜λŠ” μˆ˜μ— λΉ„λ‘€ν•˜κΈ° λ•Œλ¬Έμ— O(n)O(n) 이닀.

ν•˜μ§€λ§Œ μ•½μˆ˜μ˜ μ„±μ§ˆ(νŠΉμ • μžμ—°μˆ˜μ˜ λͺ¨λ“  μ•½μˆ˜λ₯Ό 찾을 λ•Œ κ°€μš΄λ° μ•½μˆ˜(제곱근)κΉŒμ§€λ§Œ ν™•μΈν•˜λ©΄ λœλ‹€)을 ν™œμš©ν•΄μ„œ μ‹œκ°„λ³΅μž‘λ„λ₯Ό 쀄일 수 μžˆλ‹€.

  • ex) 16의 μ•½μˆ˜λŠ” 1, 2, 4, 8, 16
    • 제곱근 4 λ₯Ό κΈ°μ€€μœΌλ‘œ 16을 λ§Œλ“œλŠ” μˆ˜κ°€ λŒ€μΉ­λ˜κΈ° λ•Œλ¬Έμ— 4 κΉŒμ§€λ§Œ ν™•μΈν•˜λ©΄ 됨.

      prime = True
      for i in range(2, int(n**0.5) + 1):  # 2λΆ€ν„° n의 μ œκ³±κ·ΌκΉŒμ§€ μ†Œμˆ˜μΈμ§€ ν™•μΈν•˜κΈ°
          if n % i == 0:  # μ•½μˆ˜λ‘œ μžκΈ°μžμ‹ μ΄ λ‚˜λˆ μ§€λ©΄ μ†Œμˆ˜κ°€ μ•„λ‹ˆλ‹€.
              prime = False
      
      print(prime)

SQL

였늘 ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ 문제λ₯Ό ν’€λ©΄μ„œ 처음으둜 μ„Έ 개의 ν…Œμ΄λΈ”μ„ join ν•˜λŠ” 게 λ‚˜μ™”λ‹€. μ„Έ 개λ₯Ό join ν•œλ‹€κ³  ν•΄μ„œ μ–΄λ €μšΈ 건 μ—†μ—ˆλ‹€.

  • μ‘°νšŒμ‹œ 기쀀이 λ˜λŠ” ν…Œμ΄λΈ”μ„ μ€‘μ‹¬μœΌλ‘œ ν•˜λ‚˜ ν•˜λ‚˜μ”© join ν•˜λ©΄ ν˜Όλ™ν•˜μ§€ μ•Šμ„ 수 μžˆλ‹€.
  • 예λ₯Ό λ“€μ–΄ PATIENT ν…Œμ΄λΈ”, APPOINTMENT ν…Œμ΄λΈ”, DOCTOR ν…Œμ΄λΈ”μ„ join ν•  λ•Œ λ‹€μŒκ³Ό 같이 ν•  수 μžˆλ‹€.
    FROM PATIENT p
        JOIN APPOINTMENT a ON p.PT_NO = a.PT_NO
        JOIN DOCTOR d ON a.MDDR_ID = d.DR_ID
profile
데이터뢄석 곡뢀 일기~!

0개의 λŒ“κΈ€