목록Algorithm (236)
Hanbit the Developer
SELECT OUTS.ANIMAL_ID, OUTS.ANIMAL_TYPE, OUTS.NAME FROM ANIMAL_OUTS OUTS LEFT JOIN ANIMAL_INS INS ON INS.ANIMAL_ID = OUTS.ANIMAL_ID WHERE INS.SEX_UPON_INTAKE LIKE 'Intact%' AND (OUTS.SEX_UPON_OUTCOME LIKE 'Spayed%' OR OUTS.SEX_UPON_OUTCOME LIKE 'Neutered%') ORDER BY OUTS.ANIMAL_ID WHERE절이 핵심입니다. WHERE INS.SEX_UPON_INTAKE LIKE 'Intact%' => "들어올 당시에는 중성화되지 않았지만" AND (OUTS.SEX_UPON_OUTCOME LIKE 'Sp..
SELECT INS.NAME, INS.DATETIME FROM ANIMAL_INS INS LEFT OUTER JOIN ANIMAL_OUTS OUTS ON INS.ANIMAL_ID = OUTS.ANIMAL_ID WHERE OUTS.ANIMAL_ID is null ORDER BY INS.DATETIME LIMIT 3 WHERE절, LEFT OUTER JOIN절이 핵심입니다. 입양을 가지 못했다는 것은, ANIMAL_INS에는 있되 ANIMAL_OUTS에는 없다는 것을 의미하지요. 따라서 OUTER을 써주고, 그 뒤에 WHERE에서 is null을 통해 그것을 구분해주는 것입니다.
SELECT INS.ANIMAL_ID, INS.NAME FROM ANIMAL_INS INS LEFT JOIN ANIMAL_OUTS OUTS ON OUTS.ANIMAL_ID = INS.ANIMAL_ID WHERE INS.DATETIME>OUTS.DATETIME ORDER BY INS.DATETIME WHERE절이 핵심입니다. "보호 시작일보다 입양일이 더 빠른 동물의 아이디와 이름을 조회하는 SQL문을 작성해주세요."
def isThere(List, num): left, right = 0, len(List)-1 while left num: right = mid - 1 elif List[mid]
N = int(input()) ropes = [] for _ in range(N): ropes.append(int(input())) ropes.sort(reverse=True) maxWeight = 0 for i in range(len(ropes)): maxWeight = max(maxWeight, ropes[i]*(i+1)) print(maxWeight) 버틸 수 있는 중량(ropes)를 오름차순으로 정렬한 뒤, for문을 돌면서 최대 중량을 (현재 로프의 중량)*(지금까지 로프 갯수)를 통해 갱신시켜준다.