728x90
데일리루틴 SQL
MySQL 조건에 맞는 도서와 저자 리스트 출력하기 정답입니다.
SELECT B.BOOK_ID, A.AUTHOR_NAME, DATE_FORMAT(B.PUBLISHED_DATE, '%Y-%m-%d')
FROM BOOK B
JOIN AUTHOR A ON B.AUTHOR_ID = A.AUTHOR_ID
WHERE B.CATEGORY = '경제'
ORDER BY B.PUBLISHED_DATE
- DATE_FORMAT(B.PUBLISHED_DATE, '%Y-%m-%d'): PUBLISHED_DATE를 YYYY-MM-DD 형식으로 변환합니다.
- WHERE B.CATEGORY = '경제': 경제 카테고리의 도서만 선택합니다.
- ORDER BY B.PUBLISHED_DATE ASC: 출판일을 기준으로 오름차순 정렬합니다.
제가 제출한 오답입니다.
SELECT B.BOOK_ID, A.AUTHOR_NAME, B.PUBLISHED_DATE #날짜 형식 틀림
FROM BOOK B
JOIN AUTHOR A ON A.AUTHOR_ID = B.AUTHOR_ID
WHERE B.CATEGORY = '경제'
ORDER BY B.PUBLISHED_DATE
문제 설명과 문제에는 출판일에 대한 자세한 설명이 나와있지 않습니다. 그래서 처음 제출한 오답처럼 냈는데 계속 틀렸다고 하길래 방법에 잘못이 있나 찾아보고, 문제를 봐도 해결책이 잘 보이지 않아 십여분간의 고민 끝에 알아냈습니다.
데일리루틴 알고리즘
java 행렬의 덧셈 정답입니다.
class Solution {
public int[][] solution(int[][] arr1, int[][] arr2) {
int row = arr1.length;
int column = arr1[0].length;
int[][] answer = new int[row][column];
for(int i = 0; i < row; i++) {
for(int j = 0; j < column; j++) {
answer[i][j] = arr1[i][j] + arr2[i][j];
}
}
return answer;
}
}
제가 제출한 오답입니다.
class Solution {
public int[][] solution(int[][] arr1, int[][] arr2) {
int[][] answer = {};
int row = arr1.length;
int column = arr1[0].length;
for(int i = 0; i < row; i++) {
for(int j = 0; j < column; j++) {
answer[i][j] = arr1[i][j] + arr2[i][j];
}
}
return answer;
}
}
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0
at Solution.solution(Unknown Source)
at SolutionTest.lambda$main$0(Unknown Source)
at SolutionTest$SolutionRunner.run(Unknown Source)
at SolutionTest.main(Unknown Source)
위와 같은 오류코드가 나왔습니다. 구글링을 해서 찾아보니 배열에 잘못된 인덱스를 참조할 때 생기는 오류라고 합니다. 저 오류 메세지는 길이가 0인 배열에서 인덱스 0에 접근하려고 시도하여 오류가 발생했습니다. 다시 한번 살펴보니 제가 answer의 배열 길이를 설정하지 않았습니다.
class Solution {
public int[][] solution(int[][] arr1, int[][] arr2) {
//int[][] answer = {};
int row = arr1.length;
int column = arr1[0].length;
int[][] answer = new int[row][column];
for(int i = 0; i < row; i++) {
for(int j = 0; j < column; j++) {
answer[i][j] = arr1[i][j] + arr2[i][j];
}
}
return answer;
}
}
answer 배열을 row와 column 길이를 구한 후에 그 길이를 answer 배열의 길이에 대입하여 길이를 맞췄습니다.
728x90
반응형
LIST
'Sparta > 데일리루틴' 카테고리의 다른 글
TIL(Today I Learned)_데일리루틴_24.11.14.Thr (0) | 2024.11.14 |
---|---|
TIL(Today I Learned)_데일리루틴_24.11.13.Wed (0) | 2024.11.13 |
TIL(Today I Learned)_데일리루틴_24.11.11.mon (0) | 2024.11.11 |
TIL(Today I Learned)_데일리루틴_24.11.10.Sun (0) | 2024.11.10 |
TIL(Today I Learned)_데일리루틴_24.11.09.Sat (0) | 2024.11.09 |