TIL

2024년 7월 11일 TIL

kagan-draca 2024. 7. 11. 20:04

SQL과 JavaScript 문제를 풀어보면서 점점 더 문법 공부가 필요하다는 생각이 들고, 

문제만 풀고 있으니깐 점점 체력적으로 한계가 온다...

 

그리고 블로그에 하루 15개의 글만 '공개'로 글을 작성할 수 있다는 사실을 오늘 알게 됐다...

 

[SQL 문제]

https://kagan-draca.tistory.com/25

 

문제 10. 어린 동물 찾기(난이도 3)(NOT)

젋은 동물만 찾아야 하는 문제기 때문에 INTAKE_CONDITION이 'Sick'인 요소를 제외하고 모두 출력해야 하는 문제였다.하지만 'Sick'를 제외한 요소만을 찾는 방법을 몰라 인터넷에 검색한 결과 NOT 연산

kagan-draca.tistory.com

https://kagan-draca.tistory.com/26

 

문제 11. 여러 기준으로 정렬하기(난이도 5)(ORDER BY의 컬럼 2개)

문제를 풀기 위해서는 먼저 이름을 사전 순으로 오름차순 정렬하고, 이름이 같으면 보호를 시작한 날짜를 내림차순 정렬해야 했다. 처음에는 이름이 같을 경우 내림차순을 해야한다는 생각에 S

kagan-draca.tistory.com

https://kagan-draca.tistory.com/27

 

문제 12. 이름에 el이 들어가는 동물 찾기(난이도 7)(LIKE와 REGEXP)

이름에 대소문자 구분 없이 el이 들어가는 이름을 찾아야 하는 문제였다. 인터넷 검색 결과 LIKE 문으로 LIKE '%el%'을 사용해 el이 들어가는 이름을 찾을 찾을려면 LIKE '%el% OR LIKE '%El%' OR ... 으로 모

kagan-draca.tistory.com

https://kagan-draca.tistory.com/28

 

문제 13. 나이 정보가 없는 회원 수 구하기(난이도 7)(SUM, IS NULL)

처음 문제를 보고 나이 정보가 없는 회원의 수를 구해야 하기 때문에 COUNT(AGE)를 사용하고, WHERE문에서 NULL인 대상을 제외시키면 빠르고 쉽게 풀 수 있을거라 생각했다. 하지만, SELECT COUNT(AGE) AS U

kagan-draca.tistory.com

https://kagan-draca.tistory.com/29

 

문제 14. 가장 비싼 상품 구하기(난이도 1)

MAX()함수를 알고 있었기 때문에, 쉽게 문제를 풀 수 있었다. 제출한 코드 :  SELECT  MAX(PRICE) AS MAX_PRICE FROM PRODUCT

kagan-draca.tistory.com

https://kagan-draca.tistory.com/31

 

문제 16. 경기도에 위치한 식품창고 목록 출력하기(난이도 2)(LIKE, IFNULL)

오늘 인터넷에서 찾은 LIKE와 IFNULL을 사용하면 쉽게 풀 수 있는 문제였다. 제출한 코드 :  SELECT WAREHOUSE_ID, WAREHOUSE_NAME, ADDRESS, IFNULL(FREEZER_YN, 'N') AS FREEZER_YN FROM FOOD_WAREHOUSE WHERE WAREHOUSE_NAME L

kagan-draca.tistory.com

https://kagan-draca.tistory.com/32

 

문제 17. 강원도에 위치한 생산공장 목록 출력하기(난이도 1)

제출한 코드 :  SELECT FACTORY_ID, FACTORY_NAME, ADDRESS FROM FOOD_FACTORY WHERE ADDRESS LIKE "강원도%" ORDER BY FACTORY_ID ASC

kagan-draca.tistory.com

https://kagan-draca.tistory.com/33

 

문제 18. DATETIME에서 DATE 형 변환(난이도 10)(SUBSTRING 함수)

DATETIME이 현재 "연도-월-일 시:분:초" 출력되고 있다. 이를 DATE "연도-월-일"만 출력해야 하는데 관련 함수를 몰라 찾아보니 SUBSTRING()함수를 찾을 수 있었다. SUBSTRING() 함수 인자로는 SUBSTRING(컬럼명,

kagan-draca.tistory.com

https://kagan-draca.tistory.com/34

 

문제 19. 흉부외과 또는 일반외과(난이도 3)

오늘 배운 SUBSTRING 함수, IN, ORDER BY로 쉽게 문제를 풀 수 있었다. 제출한 코드 :  SELECT DR_NAME, DR_ID, MCDP_CD, SUBSTRING(HIRE_YMD, 1, 10) AS HIRE_YMD FROM DOCTOR WHERE MCDP_CD IN('CS', 'GS') ORDER BY HIRE_YMD DESC

kagan-draca.tistory.com

https://kagan-draca.tistory.com/42

 

문제 15. NULL 처리하기(난이도 7)(IFNULL)

IS NULL을 이용해 NULL인 튜플을 찾거나 NULL이 아닌 튜플을 찾는건 익숙했지만, NULL인 튜플 값을 "No name"으로바꾸는 문제는 처음 접해보았다. 인터넷 검색으로 IFNULL을 사용하면 NULL인 튜플 값을 "No n

kagan-draca.tistory.com

 

 

 

 

15번 문제도 풀었는데 실수로 글을 안 적어버렸습니다...(현재 글 제한 상태 입니다...)

오늘도 SQL 문법으로 LIKE, REGEXP, IFNULL, SUBSTRING 등을 학습할 수 있어 좋았습니다! 

(자세한 내용은 각 사이트에 기능을 정리해 놓았습니다.)

 

[JavaScript문제]

https://kagan-draca.tistory.com/35

 

문제 11. 짝수와 홀수(난이도 1)

제출한 코드 :  function solution(num) {     return num % 2 == 0 ? "Even" : "Odd" }

kagan-draca.tistory.com

https://kagan-draca.tistory.com/36

 

문제 12. 평균 구하기(난이도 7)(reduce 함수)

JavaScript에 배열에 담긴 값의 평균을 구하는 함수가 있을까 찾아본 결과 Avg()같이 직접적으로 평균을구하는 함수는 없었다... 하지만 reduce() 함수를 사용해 반복문 없이 sum을 구하고, sum /

kagan-draca.tistory.com

https://kagan-draca.tistory.com/37

 

문제 13. 자릿수 더하기(난이도 4)(toString(), 문자열에서 문자 추출)

나머지 연산자와 나누기 연산자를 활용하면 쉽게 문제를 풀 수 있지만, 다른 형태로 문제를풀어보고 싶어졌다. 함수의 매개변수로 전달 받은 n은 정수여서 JavaScript에서 문자열로 바꾸는 함수가

kagan-draca.tistory.com

https://kagan-draca.tistory.com/38

 

문제 14. 악수의 합(난이도 4)(Math.sqrt())

단순하게 반복문에서 i를 1부터 n까지 i++ 하면서 n % i == 0인지 확인하고, 더해주면 쉽게풀 수 있지만 그러면 반복문의 효율성이 떨어진다 생각해 수학의 ROOT를 사용하기로 결정했다.찾아 본 결과

kagan-draca.tistory.com

https://kagan-draca.tistory.com/39

 

문제 15. 나머지가 1이 되는 수 찾기(난이도 5)

반복문으로 i를 1부터 n까지 i++ 하면서 결과 값을 찾을 수 있지만, 그렇게 되면 반복 효율이 좋지 않아깊게 생각해보았다. 그 결과 n이 홀수일 경우 무조건 2가 정답이라는 사실을 발견했고, 3부

kagan-draca.tistory.com

 

https://kagan-draca.tistory.com/40

 

문제 16. x만큼 간격이 있는 n개의 숫자(난이도 6)

반복문을 안 쓰고 문제를 해결해보려고 시도해봤지만, 아직 문법을 제대로 배우지 않았고, 방법이 떠오르지 않아 결국 반복문을 사용해 문제를 풀게 됐다... 그 과정에서 let answer = []라는 배열

kagan-draca.tistory.com

https://kagan-draca.tistory.com/41

 

문제 17. 자연수 뒤집어 배열로(난이도 7)(split, reverse, map(Number))

반복문 없이 풀기 위해 먼저, 정수 n을 toString()으로 문자열로 바꿔줬다. 그 후 JavaScript에서 문자열을 문자 단위로 나눌 수 있는 함수를 알아 본 결과split() 함수가 존재했다. 그래서 split('')으로

kagan-draca.tistory.com

 

 

현재 16, 17번 문제 또한 글 제한으로 비공개 처리 된 상태 입니다...

 

JavaScript 문법으로도 reduce, toString, reverse, split, map, Math.sqrt 등 다양한 기능을 익힐 수 있어서 뿌듯한 하루가 됐습니다.

(자세한 내용은 각 사이트에 기능을 정리해 놓았습니다.)

 

현재 두통이 발생 중이라 글이 매끄럽지 않을 수 있습니다...