분류 전체보기 454

문제 53. 재구매가 일어난 상품과 회원(GROUP BY 복습)

문제를 보고, 처음에는GROUP BY USER_ID만을 사용했다.그 결과 재구매를 하지 않은 유저까지모두 출력값으로 나왔다. GROUP BY에 대해 더 찾아보니2개의 컬렴을 사용할 수 있었다. 그래서, GROUP BY USER_ID, PRODUCT_ID를 사용하니깐 재구매한 고객만 출력됐다. 제출한 코드 : SELECT USER_ID, PRODUCT_ID FROM ONLINE_SALE GROUP BY USER_ID, PRODUCT_ID HAVING COUNT(USER_ID) >= 2 ORDER BY USER_ID ASC, PRODUCT_ID DESC

SQL 문제 2024.07.26

문제 51. 없어진 기록 찾기(RIGHT JOIN)

문제를 보고 INNER JOIN을 사용 했었는데 아무 결과도 출력되지 않아 애먹었다.다른 사람의 코드를 보니깐, INNER JOIN이 아니라RIGHT JOIN을 사용해야 했다. RIGHT JOIN을 사용하는 근거로는ANIMAL_INS 테이블에 ANIMAL_ID는 유실됐지만,ANIMAL_OUTS 테이블에 ANIML_ID는 존재하는상황이기 때문이었다.A : ANIMAL_INS, B : ANIMAL_OUTS RIGHT JOIN 이후, WHERE에서 A.ANIMAL_ID IS NULL과SELECT B.ANIMAL_ID, B.NAME으로ANIMAL_INS에는 ID가 없는ANUMAL_OUTS의 ID와 이름을 출력하는 방식이었다. 제출한 코드 : SELECT B.ANIMAL_ID, B.NAME FROM ANIMAL_..

SQL 문제 2024.07.26

2024년 7월 25일 TIL

오늘은 본 캠프에서 자신을 소개할 때 사용되는 카드를 만든다고너무 많은 시간이 소요 돼 많은 문제를  풀지 못 했다...(문제 난이도가 올라가서 많이 못 푼 것도 한 몫 합니다...) https://kagan-draca.tistory.com/110 대문자,와 toLowerCase로 대문자 ->소문자 로 바꿀 수 있다. 다른 언어에는 isUpperCase, isLowerCase로 대소문자 비교가 가능하지만 JavaScript에는 isUpperCase, isLowerCase 가 존재하지 않는" data-og-host="kagan-draca.tistory.com" data-og-source-url="https://kagan-draca.tistory.com/110" data-og-url="https://kaga..

TIL 2024.07.25

문제 43. 크기가 작은 부분 문자열(substring 복습)

p 길이 만큼 t의 숫자를 순차적으로 자른 숫자들과 비교해서같거나 작은 숫자가 있으면 Count++ 해줘야 하는 문제이다. 글자를 자르기 위해 substring()함수를 사용했는데,substring('시작 위치', '자를 위치')로 사용 가능하고시작 위치 ~ 자를 위치 - 1까지 잘라준다. 위의 정보를 조합하면 제출한 코드와 같이 만들 수 있다. 이때, 반복 종료의 t.length - p.length(중요 부분)와t.substring(i, i + p.length)(중요 부분)를 만드는 과정에서실수가 있었지만, console.log()로 확인하면서해결할 수 있었다. 제출한 코드 : function solution(t, p) { let count = 0; for(let i = 0; i ..

문제 42. 삼총사

알고보면 굉장히 간단했다... 너무 많이 생각하다 보니 머리가 고장났었다...그냥 3중 for문을 사용해서 각 숫자를 모두 더한 값이 0일 때를 구하는 것이 가장 수행시간이 빨랐다.. 제출한 코드 : function solution(number)  {     let count = 0;          for(let i = 0; i     {         for(let j = i + 1; j         {             let sum = number[i] + number[j];             for(let k = j + 1; k             {                 if(sum + number[k] == 0)                     count++       ..

문제 41. 이상한 문자 만들기(toUpperCase, toLowerCase)

toUpperCase로소문자 -> 대문자,와 toLowerCase로 대문자 ->소문자 로 바꿀 수 있다. 다른 언어에는 isUpperCase, isLowerCase로 대소문자 비교가 가능하지만 JavaScript에는 isUpperCase, isLowerCase 가 존재하지 않는다. 비교 방법으로는 ex) str='lowercase' str == str.toUpperCase()-> false str == str.toLowerCase()-> true 로 toUpperCase와 toLowerCase로비교해야한다. 제출한 코드 : function solution(s) { return s.split(' ').map((arr)=> arr.split('').map((element, index)=> inde..

2024년 7월 24일 TIL

https://kagan-draca.tistory.com/100 문제 42. 평균 일일 대여 요금 구하기(난이도 3)(AVG 함수, 소수점 처리)평균 값을 구하기 위해 AVG()함수를 사용했다.그런데, AVG()함수의 결과로소수점이 있는 정수가 출력됐다. 그래서 소수점을 처리하는 함수들을 찾아보니,CEILING(올림), ROUND(지정된 위치에서 반올림kagan-draca.tistory.comhttps://kagan-draca.tistory.com/101= 700000을 WHERE에 적어줘야 하는지,HAVING에 적어야 하는지가 제일 햇갈렸다. 먼" data-og-host="kagan-draca.tistory.com" data-og-source-url="https://kagan-draca.tistory...

TIL 2024.07.24

문제 50. 5월 식품들의 총매출 조회하기

JOIN, YEAR, MONTH, GROUR BY, ORDER를 사용한 문제로 간단하게 풀 수 있었지만,문제를 끝까지 읽지 않아서 식품 ID 기준 오름차순 정렬 때문에 몇 분 정도 시간이 끌렸다... 제출한 코드 : SELECT A.PRODUCT_ID, A.PRODUCT_NAME, SUM(B.AMOUNT * A.PRICE) AS TOTAL_SALES FROM FOOD_PRODUCT AS A INNER JOIN FOOD_ORDER AS B ON A.PRODUCT_ID = B.PRODUCT_ID WHERE YEAR(B.PRODUCE_DATE) = '2022' && MONTH(B.PRODUCE_DATE) = '05' GROUP BY PRODUCT_ID ORDER BY TOTAL_SALES DESC, A.PR..

SQL 문제 2024.07.24