728x90
데일리루틴 SQL
MySQL 조건에 부합하는 중고거래 상태 조회하기 정답입니다.
SELECT BOARD_ID, WRITER_ID, TITLE, PRICE,
CASE
WHEN STATUS = 'SALE' THEN '판매중'
WHEN STATUS = 'RESERVED' THEN '예약중'
WHEN STATUS = 'DONE' THEN '거래완료'
ELSE STATUS
END AS STATUS
FROM USED_GOODS_BOARD
WHERE CREATED_DATE = '2022-10-05'
ORDER BY BOARD_ID DESC
- CASE 문:
- STATUS 값을 변환하여 "SALE"은 "판매중", "RESERVED"는 "예약중", "DONE"은 "거래완료"로 출력합니다.
- 기타 다른 값이 있을 경우에는 원래 값을 그대로 출력합니다.
- TO_DATE:
- CREATED_DATE가 DATE 타입이므로 날짜 문자열을 TO_DATE를 사용하여 비교합니다.
- ORDER BY:
- 게시글 ID를 기준으로 내림차순 정렬하기 위해 ORDER BY BOARD_ID DESC를 사용합니다.
데일리루틴 알고리즘
Java 모의고사 정답입니다.
import java.util.*;
class Solution {
public int[] solution(int[] answers) {
// 수포자의 찍는 방식
int[] one = {1, 2, 3, 4, 5};
int[] two = {2, 1, 2, 3, 2, 4, 2, 5};
int[] three = {3, 3, 1, 1, 2, 2, 4, 4, 5, 5};
// 점수 저장용 배열
int[] scores = new int[3];
// 점수 계산
for (int i = 0; i < answers.length; i++) {
if (answers[i] == one[i % one.length]) scores[0]++;
if (answers[i] == two[i % two.length]) scores[1]++;
if (answers[i] == three[i % three.length]) scores[2]++;
}
// 최고 점수 계산
int maxScore = Math.max(scores[0], Math.max(scores[1], scores[2]));
// 최고 점수를 받은 사람 찾기
List<Integer> result = new ArrayList<>();
for (int i = 0; i < scores.length; i++) {
if (scores[i] == maxScore) {
result.add(i + 1); // 수포자 번호는 1부터 시작
}
}
// 결과를 배열로 변환하여 반환
return result.stream().mapToInt(i -> i).toArray();
}
}
728x90
반응형
LIST
'Sparta > 데일리루틴' 카테고리의 다른 글
TIL(Today I Learned)_데일리루틴_24.12.04.Wed (0) | 2024.12.04 |
---|---|
TIL(Today I Learned)_데일리루틴_24.12.03.Tue (0) | 2024.12.03 |
TIL(Today I Learned)_데일리루틴_24.12.01.Sun (0) | 2024.12.01 |
TIL(Today I Learned)_데일리루틴_24.11.30.Sat (0) | 2024.11.30 |
TIL(Today I Learned)_데일리루틴_24.11.29.Fri (0) | 2024.11.29 |