🧠𝗔𝗹𝗴𝗼𝗿𝗶𝘁𝗵𝗺
-
[SQL] 프로그래머스 4단계 SQL문제 모음🧠𝗔𝗹𝗴𝗼𝗿𝗶𝘁𝗵𝗺/💙프로그래머스 2021. 11. 5. 23:57
1. 우유와 요거트가 담긴 바구니 SELECT A.CART_ID FROM CART_PRODUCTS AS A, CART_PRODUCTS AS B WHERE A.CART_ID = B.CART_ID AND A.NAME = 'Milk' AND B.NAME = 'Yogurt' ORDER BY A.CART_ID ASC 장바구니가 같으면서 Milk와 Yogurt를 담은 것 찾기 2. 입양 시각 구하기 2 SET @hour := -1; SELECT (@hour := @hour + 1) as HOUR, (SELECT COUNT(*) FROM ANIMAL_OUTS WHERE HOUR(DATETIME)=@hour) AS COUNT FROM ANIMAL_OUTS WHERE @hour < 23 @hour라는 변수에 -1을 대입..
-
[SQL] 프로그래머스 3단계 SQL문제 모음🧠𝗔𝗹𝗴𝗼𝗿𝗶𝘁𝗵𝗺/💙프로그래머스 2021. 11. 5. 20:04
3단계 1. 없어진 기록 찾기 SELECT OUTS.ANIMAL_ID, OUTS.NAME FROM ANIMAL_OUTS AS OUTS LEFT OUTER JOIN ANIMAL_INS AS INS ON OUTS.ANIMAL_ID = INS.ANIMAL_ID WHERE INS.ANIMAL_ID IS NULL ORDER BY OUTS.ANIMAL_ID JOIN, LEFT OUTER JOIN을 활용한다. JOIN은 두 테이블의 데이터를 일정한 조건에 의해 연결하여 마치 하나의 테이블처럼 만드는 것이다. LEFT OUTER JOIN은 JOIN을 수행할 때, 왼쪽에 있는 데이터는 무조건 가져오고, 오른쪽에 오는 테이블과 JOIN을 수행하여 조건에 맞는 값이 없으면 null값을 표시한다. ANIMAL_OUTS를 왼쪽..
-
[SQL] 프로그래머스 2단계 SQL문제 모음🧠𝗔𝗹𝗴𝗼𝗿𝗶𝘁𝗵𝗺/💙프로그래머스 2021. 11. 5. 17:23
2단계 1. 고양이와 개는 몇 마리 있을까? SELECT ANIMAL_TYPE, COUNT(*) FROM ANIMAL_INS GROUP BY ANIMAL_TYPE ORDER BY ANIMAL_TYPE ASC 2. 루시와 엘라 찾기 SELECT ANIMAL_ID, NAME, SEX_UPON_INTAKE FROM ANIMAL_INS WHERE NAME IN ("Lucy", "Ella", "Pickle", "Rogan", "Sabrina", "Mitty") ORDER BY ANIMAL_ID ASC IN을 사용한다. 3. 최솟값 구하기 SELECT MIN(DATETIME) FROM ANIMAL_INS 4. 동명 동물 수 찾기 SELECT NAME, COUNT(*) AS COUNT FROM ANIMAL_INS G..
-
[SQL] 프로그래머스 1단계 SQL문제 모음🧠𝗔𝗹𝗴𝗼𝗿𝗶𝘁𝗵𝗺/💙프로그래머스 2021. 11. 5. 07:33
1단계 1. 모든 레코드 조회하기 SELECT * FROM ANIMAL_INS ORDER BY ANIMAL_ID 2. 최댓값 구하기 SELECT MAX(DATETIME) FROM ANIMAL_INS 3. 이름 없는 동물의 아이디 SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NULL 4. 역순 정렬하기 SELECT NAME, DATETIME FROM ANIMAL_INS ORDER BY ANIMAL_ID DESC *오름차수는 ASC 5. 이름이 있는 동물의 아이디 SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NOT NULL ORDER BY ANIMAL_ID ASC 6. 아픈 동물 찾기 SELECT ANIMAL_ID, NAME FR..
-
선택문제란 ?🧠𝗔𝗹𝗴𝗼𝗿𝗶𝘁𝗵𝗺/🍯개념 2021. 10. 15. 11:07
선택문제 n개의 숫자들 중에서 k번째로 작은 숫자를 찾는 문제 원래라면 단순하게 최소 숫자를 k번 찾거나(Okn), 숫자들을 정렬한 후 K번째 숫자를 찾는다.(Onlogn) 이진탐색으로는 ? 정렬된 입력의 중간에 있는 숫자와 찾고자 하는 숫자를 비교하면서, 입력을 1/2로 나눈 두 부분 중 한 부분만을 검색한다. 선택문제는 입력이 정렬되어 있지 않으므로, 입력 숫자들 중에서 (퀵정렬과 같이) 피봇을 선택하여 분할한다. 분할하고 알아야 하는 것은 Small 그룹(피봇보다 작은 숫자그룹)과 Large 그룹(피봇보다 큰 숫자그룹)의 크기(숫자의 개수)이다. - Small 그룹에서 k번째 작은 숫자가 속한 경우 => k번째 작은 숫자를 Small 그룹에서 찾는다. - Large 그룹에서 k번째 작은 숫자가 속한..
-
[백준/알고리즘기초1] 자료구조1. 9012번 괄호(JavaScript)🧠𝗔𝗹𝗴𝗼𝗿𝗶𝘁𝗵𝗺/💛 백준 2021. 10. 12. 21:15
문제 https://www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 풀이 const fs = require('fs'); const input = fs.readFileSync("/dev/stdin").toString().trim().split('\n'); const T = parseInt(input.shift(), 10); let result = []; for (let i = 0; i < T; i++) { let temp = in..
-
[백준/알고리즘기초1] 자료구조1. 10828번 스택(JavaScript)🧠𝗔𝗹𝗴𝗼𝗿𝗶𝘁𝗵𝗺/💛 백준 2021. 10. 10. 10:42
문제 https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 첫번째 풀이 : 시간초과 코드는 아래와 같았다. 철저히 .. 문제를 코드로 구현한 .. 수준..ㅋ const fs = require('fs'); const input = fs.readFileSync("/dev/stdin").toString().trim().split('\n'); const N = parseInt(input.shift(), 10); let stack = [];..
-
[위클리챌린지] 8주차 최소직사각형(JavaScript)🧠𝗔𝗹𝗴𝗼𝗿𝗶𝘁𝗵𝗺/💙프로그래머스 2021. 9. 29. 11:00
문제 https://programmers.co.kr/learn/courses/30/lessons/86491 풀이 function solution(sizes) { let answer = 0; // 두 변중 긴 것 -> 가로 // 두 변중 짧은 것 -> 세로 let width = 0; let height = 0; for (let i = 0; i < sizes.length; i++) { width = Math.max(width, Math.max(sizes[i][0], sizes[i][1])); height = Math.max(height, Math.min(sizes[i][0], sizes[i][1])); } answer = width * height; return answer; }