Lv1. 최소직사각형 (Python)
링크: https://school.programmers.co.kr/learn/courses/30/lessons/86491
내가 작성한 코드
def solution(sizes):
max_w = 0 # 명함들의 긴 변 중 최댓값 (가로)
max_h = 0 # 명함들의 짧은 변 중 최댓값 (세로)
for w, h in sizes: # 각 명함들의 가로, 세로를 하나씩 확인
big = max(w,h) # 현재 명함의 긴 변
small = min(w,h) # 현재 명함의 짧은 변
max_w = max(max_w, big) # 지금까지의 최대 가로 길이(max_w)와 현재 명함의 긴 변(big)중 더 큰값을 max_w에 저장
max_h = max(max_h, small)
return max_w * max_h # 가로 * 세로
새로 배운 코드
def solution(sizes):
return max(max(x) for x in sizes) * max(min(x) for x in sizes)
# max(x): 긴 변
# min(x): 짧은 변
# max(max(x)..): 모든 명함의 긴 변 중 최댓값 -> 지갑의 가로
# min(min(x)..): 모든 명함의 짧은 변 중 최댓값 -> 지갑의 세로
Lv3. 오랜 기간 보호한 동물(2) (MySQL)
링크: https://school.programmers.co.kr/learn/courses/30/lessons/59411
내가 작성한 코드
-- DATEDIFF
SELECT O.ANIMAL_ID, O.NAME
FROM ANIMAL_INS I
JOIN ANIMAL_OUTS O
ON I.ANIMAL_ID = O.ANIMAL_ID
ORDER BY DATEDIFF(O.DATETIME, I.DATETIME) DESC
LIMIT 2
-- TIMESTAMPDIFF
SELECT O.ANIMAL_ID, O.NAME
FROM ANIMAL_INS I
JOIN ANIMAL_OUTS O
ON I.ANIMAL_ID = O.ANIMAL_ID
ORDER BY TIMESTAMPDIFF(DAY, I.DATETIME, O.DATETIME) DESC
LIMIT 2
DATEDIFF(종료날짜, 시작날짜)
- 일(day) 단위 차이만 계산
- 시간(HH:MM:SS)은 무시
- 간단하고 빠르다
- ex) 며칠 차이인지 계산할 때
DATEDIFF('2017-01-10', '2016-01-27') = 349
TIMESTAMPDIFF(단위, 시작날짜, 종료날짜)
- 단위 지정 가능 (SECOND,MINUTE, HOUR, DAY, MONTH, YEAR)
- 시간까지 정확히 반영함
- ex) 기간을 계산할 때
TIMESTAMPDIFF(DAY, '2016-01-27 12:27:00', '2017-01-10 10:44:00')
'코딩테스트' 카테고리의 다른 글
| [26.01.27 코테(Python/MySQL/Oracle)]-푸드 파이트 대회&카테고리 별 도서 판매량 집계하기 (0) | 2026.01.27 |
|---|---|
| [26.01.26 코테(Python/MySQL/Oracle)]-시저 암호&진료과별 총 예약 횟수 출력하기 (0) | 2026.01.26 |
| [26.01.22 코테(Python/MySQL)]-크기가 작은 부분 문자열&취소되지 않은 진료 예약 조회하기 (0) | 2026.01.22 |
| [26.01.21 코테(Python/MySQL)]-이상한 문자 만들기&가격이 제일 비싼 식품의 정보 출력하기 (0) | 2026.01.21 |
| [26.01.20 코테(Python/MySQL)]-3진법 뒤집기&조건에 맞는 사용자와 총 거래금액 조회하기 (0) | 2026.01.20 |