본문 바로가기

언어64

DATEDIFF SELECT HISTORY_ID, CAR_ID, date_format(START_DATE, '%Y-%m-%d') START_DATE, date_format(END_DATE,'%Y-%m-%d') END_DATE, case when datediff(END_DATE, START_DATE)+1 >= 30 then '장기 대여' else '단기 대여' end RENT_TYPE from CAR_RENTAL_COMPANY_RENTAL_HISTORY where month(start_date)=9 order by HISTORY_ID desc 대여 기간 30일 이상 2023. 12. 8.
CONCAT_WS SELECT user_id, nickname, CONCAT_WS(' ', city, street_address1, street_address2) '전체주소', CONCAT_WS('-', substr(tlno, 1,3), substr(tlno, 4,4), substr(tlno, 8,4)) '전화번호'from USED_GOODS_USER u right join USED_GOODS_BOARD b on u.USER_ID=b.WRITER_IDgroup by b.WRITER_IDhaving count(BOARD_ID) >= 3order by user_id desc주소, 전화번호 합치기  concat: 잇기, Null 포함되면 null 반환concat_ws: 구분자로 잇기, null 반환 안함 2023. 12. 8.
바이러스 lv.2 import sys K, P, N = map(int, sys.stdin.readline().split()) # print(K*P**N % 1000000007) for _ in range(N): K = (K * P) % 1000000007 print(K) 최종 값에서 1000000007을 나눠줬을 때는 몇몇 tc가 2초를 넘었다. 이보다 큰 수의 연산에 시간이 많이 소요되는 것이므로, 반복문에서 나누어주며 계산하여 시간을 단축해서 해결했다. 2023. 12. 7.
징검다리 lv.3 import sys N = int(input()) heights = list(map(int, input().split())) answers = [1] * N for i in range(1,N): for j in range(i): if heights[i] > heights[j]: # 왼쪽 돌이 i돌보다 낮으면 answers[i] = max(answers[i], answers[j]+1) # 왼쪽 돌 밟기+1 (기존 밟는 횟수와 비교 후 최댓값 갱신) #for i, h in enumerate(heights): # answer = h # for n in range(i+1, N): # if heights[n] > answer: # answers[i] += 1 # answer = heights[n] print(ma.. 2023. 12. 7.