분류 전체보기 454

문제 31. 수박수박수박수박수박수?(repeat, slice)

반복문을 사용하면 쉽게 풀 수는 있지만 수행시간에 불이익이 생겨반복문을 사용하지 않고 풀 수 있는 방법이 없을까? 계속 생각해봤다. 문자열을 반복시켜주는 repeat(n)함수가 있었는데입력한 n개를 바탕으로 "문자 or 문자열"을 n번 반복시켜준다. 그 후, slice 함수로 0 ~ n 까지 잘라준다그러면 index 상에서 0 ~ n - 1까지만잘라주기 때문에 원하는 결과를 얻을 수 있다. 제출한 코드 : function solution(n) { return "수박".repeat(n).slice(0,n) }

문제 29.(중요)제일 작은 수 제거하기(splice, indexOf, Math.min)

나의 오류) 1. 일단 문제를 보고 왜 배열 안에 [10]이라고 있는데 -1이지? 생각했다.위의 경우를 보고 arr.length == 0 || arr.length == 1이라 작성해 arr.length == 1 경우 때문에 계속 실패가 떳다. 다시 문제를 보니깐, 린턴하려는 배열이 빈 배열인 경우!즉, 가장 작은 수가 제거된 배열이 빈 배열인 경우!-1을 채워 리턴하는 문제였다... 2. 입출력 예시의 [4, 3, 2, 1]의 결과가 [4, 3, 2]여서모든 결과가 내림차순 정렬이 돼야 하는줄 알고sort((a, b)=> a - b)로 오름차순 정렬 후slice(1, arr.lenght + 1)로 가장 작은 값을 제거하고reverse()함수를 사용했다...(모든 예시가 정렬 돼 있지 않다...) 그럼! ..

문제 32. 카테고리 별 도서 판매량 집계하기(INNER JOIN)

아직 문제를 보고 CROSS 조인(아직 사용해 및 학습 경험 없음)을 사용해야 하는지,INNER 조인을 사용해야 하는지 긴가민가 하다.본 문제는 INNER 조인으로 교집합 부분을 사용한 문제였다. 으로 사용되고, SQL에서 JOIN만 적을 경우 INNER JOIN이 되지만, 다른 사람이 보았을 때 쉽게 이해하기 위해INNER JOIN이라 사용할 것 같다. 아직 GROUP BY에 사용될 컬럼명을 결정하는게 미숙한 것 같다... 이유로는 GROUP BY A.BOOK_ID을 사용해 원하는 결과가 나오지 않았기 때문이다. 정답인 GROUP BY "컬럼명"은 GROUP BY A.BOOK_ID 이었다. 제출한 코드 : SELECT A.CATEGORY AS CATEGORY, SUM(B.SALES) AS TOTA..

SQL 문제 2024.07.17

문제 31. 오랜 기간 보호한 동물(OUTER JOIN, LIMIT)

상당히 유익하고 재미있는 문제였다. 2개의 테이블이 존재하는 것을 보고 '아! 이건 JOIN을 사용해야 하는 문제다' 라는걸 바로 알아차렸다. 하지만, 한 번도 JOIN을 사용해 본 적이 없어서 찾아본 결과 JOIN에는 OUTER, INNER, CROSS, SELF가 있었다. OUTER JOIN에는 로 LEFT, FLL, RIGHT가 존재했고 OUTER JOIN에서 OUTER를 생략한 LEFT JOIN, FULL JOIN, RIGHT JOIN으로 사용 가능했다. LEFT JOIN : FROM 절에서 왼쪽에 적은 테이블을 기준으로 출력RIGHT JOIN : FROM 절에서 오른쪽에 적은 테이블을 기준으로 출력FULL JOIN : FROM절에 사용된 모든 테이블을 기준으로 출력 이다. 이때, WHERE을 ..

SQL 문제 2024.07.17

문제 30. 자동차 종류 별 특정 옵션이(난이도 3)(REGEXP 복습)

문제를 보고 REGEXP을 사용하면 간단하게 풀 수 있다는 걸 확인했다. 그런데REGEXP('통풍시트'|'열선시트'|'가죽시트'|)로 사용해 원하는 결과가 출력되지 않았다. REGEXP의 올바른 사용법은REGEXP('통풍시트|열선시트|가죽시트')으로 문자열 하나 하나 구분해서 ' '를 치는 것이 아니라 하나의 ' '로 작성하는 것이었다. 제출한 코드 :  SELECT CAR_TYPE, COUNT(*) AS CARS FROM CAR_RENTAL_COMPANY_CAR WHERE OPTIONS REGEXP("통풍시트|열선시트|가죽시트") GROUP BY CAR_TYPE ORDER BY CAR_TYPE ASC

카테고리 없음 2024.07.17

문제 28. 12세 이하인 여자 환자 목록(난이도 5)(CASE ,IFNULL 복습)

문제에 난이도가 있었다고 생각한 이유는 CASE 문 사용에 숙달되지 않았고, IFNULL이 생각나지 않았기 때문이다... CASE문으로 NULL을 처리할 경우 CASE WHEN TLNO IS NULL THEN "NONE" (중요)ELSE TLNO END AS TLNO FROM PATIENT  으로 처리할 수 있는데 처음에 WHEN '컬럼명' 없이 IS NULL로(오류 발생 원인)-> WHEN IS NULL THEN "NONE"으로 작성해 오류가 발생했었다. IFNULL로 문제를 풀 경우 간단하게 IFNULL(TLNO,"NONE")으로 해결할 수 있었다. 제출한 코드 :  1. CASE 문  SELECT PT_NAME, PT_NO, GEND_CD, AGE, CASE WHEN TLNO IS NULL THEN..

카테고리 없음 2024.07.17