[Programmers] 157343번 - 특정 옵션이 포함된 자동차 리스트 구하기 [MySQL]
문제 링크 1. 문제 풀이 네비게이션 옵션이 OPTIONS의 어딘가에 존재하는지 찾으면 되며 LIKE 연산자와 % 와일드카드를 활용하면 된다. 2. 쿼리 SELECT * FROM CAR_RENTAL_COMPANY_CAR WHERE OPTIONS LIKE '%네비게이션%' ORDER BY CAR_ID DESC;
문제 링크 1. 문제 풀이 네비게이션 옵션이 OPTIONS의 어딘가에 존재하는지 찾으면 되며 LIKE 연산자와 % 와일드카드를 활용하면 된다. 2. 쿼리 SELECT * FROM CAR_RENTAL_COMPANY_CAR WHERE OPTIONS LIKE '%네비게이션%' ORDER BY CAR_ID DESC;
문제 링크 1. 문제 풀이 총주문량을 기준으로 내림차순, 총주문량이 같다면 출하 번호를 기준으로 오름차순으로 정렬해야 하는데 ORDER BY 절 뒤에 먼저 정렬할 컬럼부터 적고 내림차순은 DESC로 해주면 된다. 2. 쿼리 SELECT FLAVOR FROM FIRST_HALF ORDER BY TOTAL_ORDER DESC, SHI...
문제 링크 1. 문제 풀이 주소가 강원도로 시작하는 공장을 찾으면 되므로 LIKE 연산자와 % 와일드카드를 활용하면 된다. 2. 쿼리 SELECT FACTORY_ID, FACTORY_NAME, ADDRESS FROM FOOD_FACTORY WHERE ADDRESS LIKE '강원도%' ORDER BY FACTORY_ID;
1. 단조 큐를 활용한 슬라이딩 윈도우 단조 큐를 활용한 슬라이딩 윈도우(Sliding Window Maximum)는 배열이나 리스트와 같은 데이터 구조에서 연속된 부분 배열의 최솟값이나 최댓값을 효율적으로 계산할 수 있는 일종의 테크닉이다. 기존 슬라이딩 윈도우 로 구간 합을 구할 때는 윈도우에서 나가는 정보와 들어오는 정보만 기존의 구간 합에...
문제 링크 1. 문제 풀이 두 정수 $A$, $B$ 의 합을 산술 연산자를 활용하여 구하면 된다. 2. 코드 1. 풀이 [Java] import java.io.*; public class Main { public static void main(String[] args) throws IOException { ...
문제 링크 1. 문제 풀이 단조 큐를 활용한 슬라이딩 윈도우 와 우선순위 큐 두 가지 방식 모두 적용 가능한 문제로 구간의 최솟값과 최댓값이 모두 필요한데 이를 각각 단조 증가 큐, 단조 감소 큐 또는 최소힙, 최대힙으로 관리하며 최댓값과 최솟값의 차를 $c$ 와 비교하는 방식으로 해결했다. 2. 코드 1. 단조 큐 [Java] ...
문제 링크 1. 문제 풀이 두 정수 $A$, $B$ 의 합을 구하는 문제로 수의 범위가 매우 크다. 큰 수를 다룰 수 있는 라이브러리를 활용하면 간단하게 해결할 수 있다. 2. 코드 1. 풀이 [Java] 큰 정수의 연산을 처리할 수 있는 BigInteger 클래스를 활용했다. import java.io.*; import ja...
문제 링크 1. 문제 풀이 $N \times N$ 크기의 배열 $A$ 의 각 원소들이 $A[i][j] = i \times j$ 일 때, 이를 1차원 배열에 오름차순으로 옮겼을 때 $K$ 번째 수를 구해야 하는 문제다. $N$ 이 최대 $10^5$ 이어서 직접 배열을 만들고 정렬하는 방법으로는 해결할 수 없는데 이분 탐색과 매개 변수 탐색을 ...
문제 링크 1. 문제 풀이 단조 큐를 활용한 슬라이딩 윈도우 의 대표적인 문제로 수열의 인덱스를 저장하는 단조 큐를 활용하면 해결할 수 있다. Java의 경우 시간 제한이 약간 애매했지만 C++의 경우 그냥 우선순위 큐를 활용해도 넉넉하게 통과됐다. 2. 코드 1. 단조 큐 [Java] import java.io.*; impo...
문제 링크 1. 문제 풀이 아픈 동물은 WHERE INTAKE_CONDITION = 'Sick'으로 찾을 수 있다. 2. 쿼리 SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE INTAKE_CONDITION = 'Sick' ORDER BY ANIMAL_ID;