코딩 테스트 일기 - 06

윤수빈·2024년 7월 23일
0

1. SQL

문제

: 조건에 맞는 도서와 저자 리스트 출력하기

문제 설명

: '경제' 카테고리에 속하는 도서들의 도서 ID(BOOK_ID), 저자명(AUTHOR_NAME), 출판일(PUBLISHED_DATE) 리스트를 출력하는 SQL문을 작성해주세요.
결과는 출판일을 기준으로 오름차순 정렬해주세요.

문제 풀이

  1. BOOK, AUTHOR 조인
  2. '경제' 카테고리만 조회
  3. 출판일을 기준 오름차순
  4. 도서, 저자명, 출판일 출력
  5. 출판일은 (xxxx-xx-xx 형태로 출력)

구현 코드

SELECT BOOK_ID, AUTHOR_NAME, date_format(PUBLISHED_DATE, '%Y-%m-%d')
from BOOK bk left join AUTHOR au on bk.AUTHOR_ID=au.AUTHOR_ID
where category = '경제'
order by PUBLISHED_DATE

2. JavaScript

문제

: 행렬의 덧셈

문제 설명

: 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요.

문제 풀이

  1. arr1, arr2 행렬의 크기가 같다.
  2. 두 행렬의 같은 행, 같은 열의 값을 서로 더한다.
  3. 더한 값을 결과에 저장한다.

구현 코드

function solution(arr1, arr2) {
    let answer=[[]];
    for (let i=0; i<arr1.length;i++) {
        // answer 하위 배열이 제대로 초기화되어 있는지 확인
        // 안하면 property undefined 오류 출력
        answer[i] = new Array(arr1[i].length);
        for (let j=0; j<arr1[i].length; j++){
            answer[i][j] = arr1[i][j] + arr2[i][j];
        }    
    }
    return answer;
}

문제 해결

처음에 answer[i] = new Array(arr1[i].length); 이 코드를 넣지 않아서 property undefined 오류가 계속 출력되었다.

알아보니 하위 배열 초기화를 제대로 하지 않았던 것.

answer[i] = []; , answer[i] = new Array(arr1[i].length); 처럼 값을 저장할 배열의 크기에 맞게 초기화하는 것이 중요한 것을 배웠다.

profile
정의로운 사회운동가

0개의 댓글