241016 TIL

mj_data·2024년 10월 16일

TIL

목록 보기
18/32

SQL 문법

DATEDIFF

  • DATEDIFF(END_DATE, START DATE)와 같이 END_DATE가 먼저 나와야 함.
  • 실제 일 수를 구하려면 +1을 하여 시작일을 포함시켜 주어야 함.

파이썬 코드카타

1.

문제

# 내 코드
def solution(s):
    if len(s) % 2 == 0:
        answer = s[len(s) // 2 - 1] + s[len(s) // 2]
    else:
        answer = s[len(s) // 2]
    return answer
# 남 코드
def string_middle(str):
    return str[(len(str)-1)//2 : len(str)//2 + 1]

일단 +보다는 슬라이싱이 연산 시간을 줄이는데 유리하다고 한다. 하지만 가장 신박하게 느껴졌던 것은 str[(len(str)-1)//2 : len(str)//2 + 1] 이 조건으로 홀수와 짝수일 경우를 완벽하게 나누어 슬라이싱이 가능하다는 점이다. 리스트 길이가 짝수의 경우에는 나머지를 만들게 하여 2개의 값을 슬라이싱하게 하고, 홀수의 경우에는 가운데 값만을 슬라이싱한다.

어떻게 하면 코드를 짤 때 저런 아이디어를 생각할 수 있는지...

0개의 댓글