[BaekJoon] 10804번 - 카드 역배치 [Java][C++]
문제 링크 1. 아이디어 주어진 구간의 카드들을 역배치하는 문제로 양 끝에 포인터를 두고 포인터가 교차하기 전까지 스왑하는 과정을 반복하면 된다. 2. 코드 1. 풀이 [Java] import java.io.*; import java.util.*; public class Main { public static void m...
문제 링크 1. 아이디어 주어진 구간의 카드들을 역배치하는 문제로 양 끝에 포인터를 두고 포인터가 교차하기 전까지 스왑하는 과정을 반복하면 된다. 2. 코드 1. 풀이 [Java] import java.io.*; import java.util.*; public class Main { public static void m...
문제 링크 1. 아이디어 두 정수 사이의 모든 정수를 출력하는 문제로 A가 B보다 크거나 같을 수 있음에 주의해야 된다. 2. 코드 1. 풀이 [Java] import java.io.*; import java.util.*; public class Main { public static void main(String[] a...
문제 링크 1. 문제 풀이 우유와 요거트를 동시에 구입한 장바구니를 판단하기 위해 먼저 우유와 요거트만 WHERE 절로 필터링 후 장바구니별로 그룹핑을 해줬다. 우유와 요거트가 모두 있으려면 DISTINCT로 센 개수가 2개면 둘 다 담긴 장바구니다. 2. 쿼리 SELECT CART_ID FROM CART_PRODUCTS WHER...
문제 링크 1. 문제 풀이 DATEDIFF 함수를 활용해 보호 기간을 구할 수 있으며 이를 기준으로 ORDER BY를 해주면 보호 기간이 길었던 순으로 정렬할 수 있다. 2. 쿼리 SELECT i.ANIMAL_ID, i.NAME FROM ANIMAL_INS AS i JOIN ANIMAL_OUTS AS o ON i.ANIMA...
문제 링크 1. 문제 풀이 중성화 여부는 LIKE와 NOT LIKE를 통해 판단할 수 있다. 2. 쿼리 SELECT i.ANIMAL_ID, i.ANIMAL_TYPE, i.NAME FROM ANIMAL_INS AS i JOIN ANIMAL_OUTS AS o ON i.ANIMAL_ID = o.ANIMAL_ID WHERE ...
문제 링크 1. 문제 풀이 아직 입양을 못간 동물은 ANIMAL_INS에는 존재하지만 ANIMAL_OUTS에는 존재하지 않는 동물이다. 따라서 LEFT JOIN으로 찾을 수 있으며 LIMIT을 활용해 3마리만 필터링했다. 2. 쿼리 SELECT i.NAME, i.DATETIME FROM ANIMAL_INS AS i LEFT JOI...
문제 링크 1. 문제 풀이 두 테이블을 JOIN 후 DATETIME의 비교로 보호 시작일보다 입양일이 빠른지 알 수 있다. 2. 쿼리 SELECT i.ANIMAL_ID, i.NAME FROM ANIMAL_INS AS i JOIN ANIMAL_OUTS AS o ON i.ANIMAL_ID = o.ANIMAL_ID WHERE i...
문제 링크 1. 문제 풀이 입양간 기록은 있는데 보호소에 들어온 기록이 없는 동물은 ANIMAL_OUTS에는 존재하는데 ANIMAL_INS에는 없는 동물들이다. 따라서 LEFT JOIN으로 해당 동물들을 찾으면 된다. 2. 쿼리 SELECT o.ANIMAL_ID, o.NAME FROM ANIMAL_OUTS AS o LEFT JOI...
문제 링크 1. 문제 풀이 CASE 문을 활용해서 대장균 개체의 크기별로 다르게 출력하면 된다. 2. 쿼리 SELECT ID, CASE WHEN SIZE_OF_COLONY > 1000 THEN 'HIGH' WHEN SIZE_OF_COLONY > 100 THEN 'MEDIUM' ...
문제 링크 1. 문제 풀이 JOIN 이후 부서로 그룹핑을 해서 ROUND 함수와 AVG 집계함수로 평균 연봉을 구하면 된다. 2. 쿼리 SELECT d.DEPT_ID, d.DEPT_NAME_EN, ROUND(AVG(e.SAL)) AS AVG_SAL FROM HR_DEPARTMENT AS d JOIN HR_EM...