๐Ÿ—‚๏ธ2024.06.28 TIL

Donghyunยท2024๋…„ 6์›” 28์ผ
0

TIL (Today I Learned)

๋ชฉ๋ก ๋ณด๊ธฐ
5/53
post-thumbnail

SQL

  1. DATEDIFF

    • ๋‘ ๋‚ ์งœ์˜ ์ผ(day)์˜ ์ฐจ์ด๋ฅผ ๊ตฌํ•ด์ฃผ๋Š” ํ•จ์ˆ˜
    DATEDIFF(๋‚ ์งœ1, ๋‚ ์งœ2)
  • ์˜ˆ์‹œ
    SELECT DATEDIFF('2018-03-28 23:59:59', '2017-03-01 00:00:00')
    ๊ฒฐ๊ณผ: 392

Pyhton

  1. isdigit()

    : string ํด๋ž˜์Šค์— ์žˆ๋Š” ๋ฉ”์„œ๋“œ๋กœ ๋ฌธ์ž์—ด์ด โ€˜์ˆซ์žโ€™๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ํ•จ์ˆ˜

    • ๋ฌธ์ž๊ฐ€ ๋‹จ ํ•˜๋‚˜๋ผ๋„ ์žˆ์œผ๋ฉด False ๋ฐ˜ํ™˜,
    • ์ˆซ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค๋ฉด True ๋ฐ˜ํ™˜
  • ์˜ˆ์‹œ
    s = โ€˜1234โ€™
    print(s.isdigit())
    ๊ฒฐ๊ณผ: True
s = '123a45'
print(s.digit())

๊ฒฐ๊ณผ: False

๊ด€๋ จ ์˜ˆ์ œ: https://school.programmers.co.kr/learn/courses/30/lessons/12918

  1. ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜์™€ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜ ๊ตฌํ•˜๊ธฐ - ์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ•

    • ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜: ๊ณตํ†ต์œผ๋กœ ๊ฐ–๋Š” ์•ฝ์ˆ˜ ์ค‘ ๊ฐ€์žฅ ํฐ ์ˆ˜
    • ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜: ๊ณตํ†ต์œผ๋กœ ๊ฐ–๋Š” ๋ฐฐ์ˆ˜ ์ค‘ ๊ฐ€์žฅ ์ž‘์€ ์ˆ˜

    ์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ•

    : ๋‘ ์ˆ˜๊ฐ€ ์„œ๋กœ ์ƒ๋Œ€๋ฐฉ์˜ ์ˆ˜๋ฅผ ๋‚˜๋ˆ„์–ด์„œ ๊ฒฐ๊ตญ ์›ํ•˜๋Š” ์ˆ˜๋ฅผ ์–ป๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜

  • ์˜ˆ์‹œ
    • 1071๊ณผ 1029์˜ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜๋ฅผ ๊ตฌํ•˜๋ฉด,
      • 1071์€ 1029๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์—, 1071์„ 1029๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ๊ตฌํ•œ๋‹ค. โ†’ 42

      • 1029๋Š” 42๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์—, 1029๋ฅผ 42๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ๊ตฌํ•œ๋‹ค. โ†’ 21

      • 42๋Š” 21๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง„๋‹ค.

        ๋”ฐ๋ผ์„œ, ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜๋Š” 21์ด๋‹ค

  • ํŒŒ์ด์ฌ์œผ๋กœ ๊ตฌํ˜„ํ•˜๋ฉด
    def gcd(a, b):
        while b > 0:
            a, b = b, a % b
        return n
    • a % b ๋ฅผ ๋ฐ˜๋ณตํ•˜๋ฉฐ, ๋‘˜์˜ ์œ„์น˜๋ฅผ ๋ฐ”๊พผ๋‹ค.
    • b ๊ฐ€ 0 ์ด ๋  ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•˜๊ณ  ๋‚จ๋Š” ๊ฐ’ a ๊ฐ€ ๋ฐ”๋กœ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜!
  • ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜: ๋‘ ์ˆ˜๋ฅผ ๊ณฑํ•˜๊ณ  gcd(a, b)์˜ ๊ฒฐ๊ณผ๋กœ ๋‚˜๋ˆ„๋ฉด ๋จ.
  1. ์ง„๋ฒ• ๋ณ€ํ™˜: 10์ง„์ˆ˜ โ†’ n ์ง„์ˆ˜
  • n ์ง„์ˆ˜ โ†’ 10 ์ง„์ˆ˜๋Š” ํŒŒ์ด์ฌ์—์„œ ์ œ๊ณตํ•˜๋Š” int() ํ•จ์ˆ˜๋กœ ์‰ฝ๊ฒŒ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ํ•˜์ง€๋งŒ 10์ง„์ˆ˜ โ†’ n ์ง„์ˆ˜๋Š” ๋”ฐ๋กœ ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ค์–ด์ค˜์•ผ ํ•จ

  • ๋ฌธ์ œ

    • ์ž์—ฐ์ˆ˜ 45๋ฅผ 3์ง„๋ฒ•์œผ๋กœ ๋‚˜ํƒ€๋‚ด๊ณ  ์‹ถ๋‹ค๋ฉด?
      • divmod() ํ™œ์šฉ: ๋ชซ๊ณผ ๋‚˜๋จธ์ง€๋ฅผ ํ•œ ๋ฒˆ์— ํŠœํ”Œ๋กœ ๋ฐ˜ํ™˜

        print(divmod(10, 3))

        ๊ฒฐ๊ณผ: (3, 1)

    • ๋ฌธ์ œ ์ •๋‹ต:
      def solution(n):
          answer = ''
      
          while n >= 1:
              n, r = divmod(n, 3)
              answer += str(r)
      
          return answer
          
      print(solution(45))
      ๊ฒฐ๊ณผ: 0021
    • ํ•ด์„ค
      • while n >= 1::ย n์ด 1 ์ด์ƒ์ธ ๋™์•ˆ ๊ณ„์† ๋ฃจํ”„๋ฅผ ์‹คํ–‰
      • n, r = divmod(n, 3):ย n์„ 3์œผ๋กœ ๋‚˜๋ˆˆ ๋ชซ๊ณผ ๋‚˜๋จธ์ง€๋ฅผ ๊ฐ๊ฐย n๊ณผย r์— ํ• ๋‹น.
      • answer += str(r): ๋‚˜๋จธ์ง€ย r์„ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•˜์—ฌย answer์— ์ถ”๊ฐ€ํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋‚˜๋จธ์ง€ ๊ฐ’๋“ค์ด ๋ฌธ์ž์—ด ํ˜•ํƒœ๋กœย answer์— ์ˆœ์ฐจ์ ์œผ๋กœ ์Œ“์ž„.
profile
๋ฐ์ดํ„ฐ๋ถ„์„ ๊ณต๋ถ€ ์ผ๊ธฐ~!

0๊ฐœ์˜ ๋Œ“๊ธ€