문제 출저https://leetcode.com/problems/recyclable-and-low-fat-products/description/?envType=study-plan-v2&envId=top-sql-50 문제 풀이Products 테이블의 low_facts와 recycleable의 모두 Y인 경우의 데이털르 구해야 합니다.where 절을 사용하여 조건에 맞는 행을 가져옵니다. SQL# Write your MySQL query statement belowselect product_idfrom Productswhere low_fats = 'Y' and recyclable = 'Y'
문제 출저https://school.programmers.co.kr/learn/courses/30/lessons/301649 문제 풀이대장균 개체의 크기를 내림차순으로 정렬했을 때 상위 0% ~ 25%는 CRITICAL, 26% ~ 50% HIGH, 51% ~ 75% MEDIUM, 76% ~ 100% LOW라 분류합니다. CASE WHEN 문을 사용하여 조건에 맞는 결과를 출력합니다. 문제를 보면 100%를 4개로 분할한 것을 알 수 있습니다. NTILE 문을 사용하여 4개의 영역으로 나눌 수 있습니다. NTILE 데이터를 정렬한 후에 그룹으로 나누는데 사용합니다. 데이터를 동일한 크기의 그룹으로 나누어 분석할 때 유용합니다. SQLSELECT ID, CASE WHEN..
문제 출저https://www.acmicpc.net/problem/15817 15817번: 배수 공사합친 파이프의 길이 x를 만들 수 있는 방법의 수를 출력한다. 방법의 수가 2,147,483,647를 넘는 경우는 없다.www.acmicpc.net 문제 풀이파이프 종류 수 N과 합친 파이프의 길이 x가 주어집니다. N 종류의 파이프의 길이는 L과 수량 C가 주어집니다. x를 만들 수 있는 경우의 수를 구해야 합니다. dp를 이용해 문제를 풀었습니다. 파이프 종류를 이용해 만들 수 있는 길이를 업데이트 합니다. 주의점x는 12이고 4의 파이프가 3개 있다고 가정합니다.그러면 dp[4] = 1, dp[8] = 1, dp[12] = 1 이 되어야 합니다. 제가 기존에 풀었던 방식은 현재 파이프의 길이의 d..
문제 출저https://school.programmers.co.kr/learn/courses/30/lessons/301647 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 풀이부모의 형질을 모두 보유한 대장균의 출력해야 한다. 부모의 형질의 확인하기 & 사용한다. WHERE A.GENOTYPE & P.GENOTYPE = P.GENOTYPE SQLSELECT A.ID, A.GENOTYPE, P.GENOTYPE AS PARENT_GENOTYPE FROM ECOLI_DATA AS A INNER JOIN ECOLI_DA..
문제 출저https://school.programmers.co.kr/learn/courses/30/lessons/301646 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 풀이 GENOTYPE 필드에서 2번 형질을 보유하지 않으면서 1번이나 3번 형질을 보유하고 있는 대장균의 개체 수를 출력해야 합니다. 이 때, GENOTYPE은 2진수로 표현합니다. 그러므로 비트 연산자를 통해 보유 여부를 판단합니다. 2번 형질이 포함되어 있는지 확인하려면 WHERE 절에 GENOTYPE & 2 를 수행합니다. 이 때 결과값..
문제 출저https://www.acmicpc.net/problem/12919 12919번: A와 B 2수빈이는 A와 B로만 이루어진 영어 단어 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다. 이런 사실에 놀란 수빈www.acmicpc.net 문제 풀이BFS를 통해 풀었습니다. 시작 문자열 s, 목표 문자열 t가 주어집니다. s에서 시작해 t로 도달 할 수 있는지 구해야 합니다. 2가지 동작을 하 수 있습니다. 뒤에 A를 붙이거나 뒤에 B를 붙이고 두집을 수 있습니다. 처음 문제를 풀 때 s부터 시작해 t로 탐색을 진행했습니다. 이 때, 시..
문제 출저 https://school.programmers.co.kr/learn/courses/30/lessons/299307 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 대장균 개체의 크기가 100 이하면 LOW, 100 초과 1000 이하면 MEDIUM, 1000 초과면 HIGH로 분류합니다. CASE, WHEN 절을 사용하여 조건에 맞는 결과를 출력합니다. SQL SELECT ID, CASE WHEN SIZE_OF_COLONY > 1000 THEN 'HIGH' WHEN SIZE_OF_COLONY > 100 THEN 'MEDIUM' WHE..
문제 출저 https://school.programmers.co.kr/learn/courses/30/lessons/299305 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 대장균 개체의 ID와 자식의 수를 출력해야 합니다. 자식의 수를 세기 위해 자기 자신과 조인을 맺습니다. LEFT JOIN으로 ID = PARENT_ID를 연결합니다. 왼쪽 테이블은 부모, 오른쪽 테이블은 자식이 됩니다. B.ID를 카운트하여 자식 수를 셉니다. ID에 대해 오름차순 정렬이므로 ORDER BY를 사용하여 정렬을 합니다. SQL SELECT A.ID, COUN..
문제 출저 https://www.acmicpc.net/problem/6144 6144번: Charm Bracelet Bessie has gone to the mall's jewelry store and spies a charm bracelet. Of course, she'd like to fill it with the best charms possible from the N (1
문제 출저 https://school.programmers.co.kr/learn/courses/30/lessons/298518 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 BASS와 SNAPPER의 수를 출력해야 합니다. FISH_INFO와 FISH_NAME_INFO 두 테이블을 FISH_TYPE 열로 조인합니다. WHERE에서 IN을 이용해 BASS와 SNAPPER를 선택합니다. SELECT에서 COUNT를 이용하여 갯수를 셉니다. SQL SELECT COUNT(*) AS FISH_COUNT FROM FISH_INFO AS I JOIN FI..
문제 출저 https://www.acmicpc.net/problem/18427 18427번: 함께 블록 쌓기 첫째 줄에 자연수 N, M, H가 공백을 기준으로 구분되어 주어진다. (1 ≤ N ≤ 50, 1 ≤ M ≤ 10, 1 ≤ H ≤ 1,000) 둘째 줄부터 N개의 줄에 걸쳐서 각 학생이 가진 블록들의 높이가 공백을 기준으로 구 www.acmicpc.net 문제 풀이 학생이 가진 블록을 하나만 사용할 수 있다. 같은 학생의 블록들을 중복 사용하지 않도록 주의해야 합니다. 그 외에는 높이 h 크기인 1차원 int 배열을 사용하여 메모리제이션을 사용해서 문제를 풀었습니다. int[] before = new int[h+1]; int[] after = new int[h+1]; 두 개의 1차원 int 배열을 ..
문제 출저 https://school.programmers.co.kr/learn/courses/30/lessons/298517 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 가장 큰 물고기 10마리를 출력해야 합니다. 큰 물고기를 구하기 위해 ORDER BY를 사용하며 10마리를 출력하기 위해 LIMIT 키워드를 사용합니다. SQL SELECT ID, LENGTH FROM FISH_INFO ORDER BY LENGTH DESC, ID LIMIT 10