728x90
데일리루틴 SQL
MySQL 오랜 기간 보호한 동물(2) 정답입니다.
SELECT O.ANIMAL_ID, O.NAME FROM ANIMAL_OUTS O
JOIN ANIMAL_INS I ON O.ANIMAL_ID = I.ANIMAL_ID
ORDER BY DATEDIFF(O.DATETIME, I.DATETIME) DESC
LIMIT 2;
- SELECT O.ANIMAL_ID, O.NAME : ANIMAL_OUTS 테이블에서 ANIMAL_ID와 NAME 컬럼을 선택합니다.
- FROM ANIMAL_OUTS O : ANIMAL_OUTS 테이블을 O라는 별칭으로 지정합니다.
- JOIN ANIMAL_INS I ON O.ANIMAL_ID = I.ANIMAL_ID : ANIMAL_OUTS와 ANIMAL_INS 테이블을 ANIMAL_ID 컬럼을 기준으로 내부 조인합니다.
- ORDER BY DATEDIFF(O.DATETIME, I.DATETIME) DESC : ANIMAL_OUTS와 ANIMAL_INS의 날짜 차이를 계산하여 내림차순으로 정렬합니다. 이로써 가장 오래된 입소와 출소 날짜 차이를 맨 위에 오도록 합니다.
- LIMIT 2 : 상위 두 개의 레코드만을 선택합니다.
데일리루틴 알고리즘
java 부족한 금액 계산하기 정답입니다.
class Solution {
public long solution(int price, int money, int count) {
long result = 0;
long usedMoney = 0;
for (int i = 1; i <= count; i++) {
usedMoney += (long)price * i;
}
if (money >= usedMoney) {
result = 0;
} else {
result = usedMoney - money;
}
return result;
}
}
- public long solution(int price, int money, int count) { ... }
세 개의 정수 매개변수를 받아서 결과로 long 타입의 값을 반환하는 solution 메소드를 정의합니다.- price: 놀이기구 1회 탑승 가격
- money: 현재 가지고 있는 총 금액
- count: 놀이기구를 타고 싶은 횟수
- long result = 0;
결과를 저장할 변수 result를 선언하고 초기값을 0으로 설정합니다. 최종적으로 반환될 값이 이 변수에 저장됩니다. - long usedMoney = 0;
놀이기구를 여러 번 타면서 사용하게 될 총 금액을 저장할 변수 usedMoney를 선언하고 초기값을 0으로 설정합니다. - for (int i = 1; i <= count; i++) { ... }
놀이기구를 총 count번 탈 때까지 반복문을 실행합니다. i는 현재 탑승 횟수를 나타냅니다. - usedMoney += (long)price * i;
현재 탑승 횟수 i에 대한 비용을 총 사용 금액인 usedMoney에 더합니다. (long)price를 사용해 가격을 long으로 형 변환함으로써 계산 과정에서의 오버플로우를 방지합니다. - if (money >= usedMoney) { ... }
현재 가지고 있는 금액 money가 놀이기구를 타는데 사용된 총 금액 usedMoney보다 크거나 같으면 조건문을 실행합니다. - result = 0;
가지고 있는 돈이 충분할 경우, 부족한 금액이 없으므로 결과는 0으로 설정합니다. - else { ... }
만약 가지고 있는 돈이 총 사용된 금액보다 부족할 경우를 처리합니다. - result = usedMoney - money;
필요한 총 금액에서 현재 가진 돈을 뺀 값, 즉 부족한 금액을 result에 저장합니다. - return result;
최종 결과인 result를 반환합니다.- 돈이 충분하다면 0이 반환됩니다.
- 돈이 부족하다면 부족한 금액이 반환됩니다.
728x90
반응형
LIST
'Sparta > 데일리루틴' 카테고리의 다른 글
TIL(Today I Learned)_데일리루틴_24.11.12.Tue (0) | 2024.11.12 |
---|---|
TIL(Today I Learned)_데일리루틴_24.11.11.mon (0) | 2024.11.11 |
TIL(Today I Learned)_데일리루틴_24.11.09.Sat (0) | 2024.11.09 |
TIL(Today I Learned)_데일리루틴_24.11.08.Fri (0) | 2024.11.08 |
TIL(Today I Learned)_데일리루틴_24.11.07.Thr (0) | 2024.11.07 |