문제 21. 이름이 없는 동물의 아이디(난이도 5)(IS NULL) 처음에 NULL인 값을 찾아야 한다는 생각에 IN('NULL')이나 NAME = 'NULL'을 사용하면 된다고 생각했다.하지만, 원하는 결과가 출력되지 않았고 인터넷을 찾아보니 IS NULL 문법이 있었다. 생각해보면 며칠 전 IS NULL을 사용 했었는데 아직 숙달되지 않은 것 같다... 제출한 코드 : SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NULL 카테고리 없음 2024.07.12
문제 20. 가격이 제일 비싼 식품의 정보 출력하기(2중 SELECT) 단순히 SELECT SELECT PRODUCT_ID, PRODUCT_NAME, PRODUCT_CD, CATEGORY, MAX(PRICE)FROM FOOD_PRODUCT 로 문제가 해결될 줄 알았다. 그런데, MAX(PRICE)에 맞는 가격은 찾았지만 SELECT PRODUCT_ID, PRODUCT_NAME, PRODUCT_CD, CATEGORY 속성에서 MAX(PRICE)에 해당하는 항목이 아닌 제일 첫 번째 튜플 값이 출력됐다. 혹시나 하는 생각에 WHERE PRICE = ( SELECT MAX(PRICE) FROM FOOD_PRODUCT ) 로 수정해 본 결과 MAX(PRICE)에 해당하는 튜플 값들이 출력 됐다. 아마도, 단독으로 MAX(PRICE)에 해당하는 결과를 찾고 싶을 때는 SE.. SQL 문제 2024.07.12
2024년 7월 11일 TIL SQL과 JavaScript 문제를 풀어보면서 점점 더 문법 공부가 필요하다는 생각이 들고, 문제만 풀고 있으니깐 점점 체력적으로 한계가 온다... 그리고 블로그에 하루 15개의 글만 '공개'로 글을 작성할 수 있다는 사실을 오늘 알게 됐다... [SQL 문제]https://kagan-draca.tistory.com/25 문제 10. 어린 동물 찾기(난이도 3)(NOT)젋은 동물만 찾아야 하는 문제기 때문에 INTAKE_CONDITION이 'Sick'인 요소를 제외하고 모두 출력해야 하는 문제였다.하지만 'Sick'를 제외한 요소만을 찾는 방법을 몰라 인터넷에 검색한 결과 NOT 연산kagan-draca.tistory.comhttps://kagan-draca.tistory.com/26 문제 11. 여러 .. TIL 2024.07.11
문제 15. NULL 처리하기(IFNULL) IS NULL을 이용해 NULL인 튜플을 찾거나 NULL이 아닌 튜플을 찾는건 익숙했지만, NULL인 튜플 값을 "No name"으로바꾸는 문제는 처음 접해보았다. 인터넷 검색으로 IFNULL을 사용하면 NULL인 튜플 값을 "No name"처럼 다른 값으로 출력할 수 있었다.사용 방법은 IFNULL(컬럼명, "사용할 이름")으로 비교적 쉽게 바꿀 수 있었다. 제출한 코드 : SELECT ANIMAL_TYPE, IFNULL(NAME, "No name") as Name, SEX_UPON_INTAKE FROM ANIMAL_INS ORDER BY ANIMAL_ID ASC SQL 문제 2024.07.11
문제 17. 자연수 뒤집어 배열로(split, reverse, map(Number)) 반복문 없이 풀기 위해 먼저, 정수 n을 toString()으로 문자열로 바꿔줬다. 그 후 JavaScript에서 문자열을 문자 단위로 나눌 수 있는 함수를 알아 본 결과split() 함수가 존재했다. 그래서 split('')으로 문자열을 문자로 쪼갤 수 있었다. 이렇게 조각난 문자들을 reverse()함수로 역순서를 바꿔주었다. 하지만, revese() 한 문자들을 parseInt()로 정수 형변환을 시도한 결과제일 앞에 있는 정수만 정수로 형변환 됐다. 인터넷에서 문자 전체를 정수로 형변환할 수 있는 방법을 찾아 본 결과map(Number)로 가능하다는 사실을 알게 됐다.(정확한 이유는 아직 모름...) 제출한 코드 : function solution(n) { return n.toString.. 문제 풀기/JavaScripts 2024.07.11
문제 16. x만큼 간격이 있는 n개의 숫자(난이도 6) 반복문을 안 쓰고 문제를 해결해보려고 시도해봤지만, 아직 문법을 제대로 배우지 않았고, 방법이 떠오르지 않아 결국 반복문을 사용해 문제를 풀게 됐다... 그 과정에서 let answer = []라는 배열에 값을 넣는 방법으로 push를 사용해야 한다는 사실을 학습했다. 제출한 코드 : function solution(x, n) { var answer = []; for(let i = 1; i { answer.push(x * i); } return answer; } 문제 풀기/JavaScripts 2024.07.11
문제 15. 나머지가 1이 되는 수 찾기 반복문으로 i를 1부터 n까지 i++ 하면서 결과 값을 찾을 수 있지만, 그렇게 되면 반복 효율이 좋지 않아깊게 생각해보았다. 그 결과 n이 홀수일 경우 무조건 2가 정답이라는 사실을 발견했고, 3부터는 2를 더해주면서 비교할 경우 더 빠르게 결과값을 찾을 수 있다는 사실을 발견 했다. 제출한 코드 : function solution(n) { if (n % 2 === 1) return 2; // n이 홀수인 경우 i = 2가 항상 해답 for (let i = 3; i { // 홀수 i만 검사 if (n % i == 1) return i; } } 문제 풀기/JavaScripts 2024.07.11
문제 14. 악수의 합(Math.sqrt()) 단순하게 반복문에서 i를 1부터 n까지 i++ 하면서 n % i == 0인지 확인하고, 더해주면 쉽게풀 수 있지만 그러면 반복문의 효율성이 떨어진다 생각해 수학의 ROOT를 사용하기로 결정했다.찾아 본 결과 Math.sqrt()로 Root값을 구할 수 있었고, 그 결과 반복 횟수를 O(Root(N))만큼줄일 수 있었다. 제출한 코드 : function solution(n) { let answer = 0; for(let i = 1; i { if(n % i == 0) { answer += i; if (i !== n / i) { answer += n / i; .. 문제 풀기/JavaScripts 2024.07.11
문제 13. 자릿수 더하기(toString(), 문자열에서 문자 추출) 나머지 연산자와 나누기 연산자를 활용하면 쉽게 문제를 풀 수 있지만, 다른 형태로 문제를풀어보고 싶어졌다. 함수의 매개변수로 전달 받은 n은 정수여서 JavaScript에서 문자열로 바꾸는 함수가 있는지확인해 본 결과 .toString()함수가 존재했다. 그리고 저번에 학습한 for의 여러 방식 중 for(let 변수 in 변수)을 사용한 형태로 문제로문자열의 index를 이용해 문자열의 문자들을 하나 씩 더하는 방식으로 문제를 해결했다. 이때, JavaScript는 문자열에서 문자를 추출할때 변수[index 값]으로 원하는 문자를추출 가능했다. 제출한 코드 : function solution(n) { let result = 0; const temp = n.toString(); f.. 문제 풀기/JavaScripts 2024.07.11
문제 12. 평균 구하기(reduce 함수) JavaScript에 배열에 담긴 값의 평균을 구하는 함수가 있을까 찾아본 결과 Avg()같이 직접적으로 평균을구하는 함수는 없었다... 하지만 reduce() 함수를 사용해 반복문 없이 sum을 구하고, sum / arr.length로 평균을 쉽게 구할 수 있었다. reduce 함수의 사용 방법으로는 reduce((누산값, 현재 값, 현재 인덱스, 원본 배열) => 계산 과정, 초기값) 형태로사용할 수 있었다. 제출한 코드 : function solution(arr) { const sum = arr.reduce((acc, cur)=> acc + cur, 0); return sum / arr.length; } 문제 풀기/JavaScripts 2024.07.11