✔ 학부 연구생 민상[백준 21922]코드 구현하기/* * 문제 분석하기 * : 물건의 종류에 따라서 바람의 방향을 바꿔가며 이동할 수 있는 모든 위치의 개수를 구하도록 함 *//* * 손으로 풀어보기 * 1. 에어컨의 위치에서부터 상하좌우로 이동하도록 함 * 2. 물건 1일 때, 바람 방향이 상 또는 하라면 같은 방향으로 이동할 수 있음 (좌 또는 우라면 이동 불가) * 3. 물건 2일 때, 바람 방향이 좌 또는 우라면 같은 방향으로 이동할 수 있음 (상 또는 하라면 이동 불가) * 4. 물건 3일 때, 바람 방향이 상우하좌라면 우상좌하 방향으로 이동할 수 있음 * 5. 물건 4일 때, 바람 방향이 상우하좌라면 좌하우상 방향으로 이동할 수 있음 * 6. 물건의 종류에 따라서 바람의 방향을 바꿔가며 이..
SELECT# 전체 출력하기SELECT * FROM table_name;# 컬럼명 지정하여 출력하기SELECT column1, column2, ...FROM table_name;DISTINCT# 중복 행 제거하고 출력하기SELECT DISTINCT column1, column2, ...FROM table_name;WHERE# 조건 지정하기SELECT column1, column2, ...FROM table_nameWHERE condition;# 조건 여러 개 지정하기 1 (IN)SELECT column1, column2, ...FROM table_nameWHERE column1 IN ('condition1', 'condition2');# 조건 여러 개 지정하기 2 (NOT IN)SELECT column1..
✔ 달력[백준 20207]코드 구현하기/* * 문제 분석하기 * : 각 날마다의 일정 개수를 센 후, 일정이 없는 날을 기준으로 하여 * 각 구간의 최대 일정 개수 * 구간의 수를 하여 코팅지 면적을 구하도록 함 *//* * 손으로 풀어보기 * 1. 각 날마다의 일정의 개수 세기 * 2. 일정이 없는 날을 기준으로 각 구간의 최대 일정 개수 * 구간의 수를 하여 코팅지 면적 구하기 * 3. 전체 코팅지 면적 출력하기 *//* * 20207) 달력 */public class Main { static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); static int N; // N(일정의 개수) st..
✔ Case, IF지역별 주문의 특징[SolveSql characteristics-of-orders]/* SELECT : 주문 지역, 해당 지역 내 가구 주문 수, 오피스 물품 주문 수, 전자기기 주문 수 FROM : records 테이블 GROUP BY : 주문 지역별 ORDER BY : 주문 지역 오름차순 정렬*/SELECT region AS 'Region', COUNT( DISTINCT ( CASE WHEN category = 'Furniture' THEN order_id END ) ) AS 'Furniture', COUNT( DISTINCT ( CASE WHEN category = 'Office Supplies' THEN ..
✔ 동전 2[백준 2294]코드 구현하기/* * 문제 분석하기 * : 주어진 동전을 조합하여 K원을 만드는데 필요한 최소 개수를 찾도록 함 *//* * 손으로 풀어보기 * 1. K원까지를 만들 때, 하나의 동전을 사용할 수 있는 경우와 여러 동전을 사용해야 하는 경우에 따른 경우의 수를 세도록 함 * 2. 금액 K를 만드는 방법의 최소 개수를 출력 *//* * 2294) 동전 2 */public class Main { static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); static int N, K; static int[] coins; // coins(동전들을 담은 배열) static in..
✔ 배[백준 1092]코드 구현하기/* * 문제 분석하기 * : 크레인은 1분에 박스를 하나씩 실을 수 있으므로, 가장 큰 무게를 들 수 있는 크레인이 가장 큰 무게를 들도록 함 *//* * 손으로 풀어보기 * 1. 크레인과 박스의 무게를 내림차순으로 정렬 * 2. 가장 큰 무게의 박스를 가장 큰 무게를 들 수 있는 크레인에 할당하도록 하는 것을 반복 * 3. 모든 크레인을 사용했을 때 시간을 1분 증가하고 다시 처음부터 크레인에 박스를 할당하도록 함 * 4. 이를 반복하여 모든 박스를 옮기도록 함 * 5. 만약 가장 큰 무게의 박스가 가장 큰 무게를 들 수 있는 크레인의 무게보다 크다면 모든 박스를 배로 옮길 수 없으므로 -1을 출력 *//* * 1092) 배 */public class Main { ..
✔ Window Function레스토랑 요일 별 구매금액 Top 3 영수증[SolveSql top-3-bill]NTILE() OVER() : 지정된 수만큼의 파티션으로 등급을 나누어 각 등급 번호를 반환 RANK() OVER() : 순위 값 중 동등 순위 번호를 같게 나오고 그 다음 순위를 다음 번호를 뺀 그 다음 값을 반환 (1 1 3)DENSE_RANK() OVER() : 순위 값 중 동등 순위 번호는 같게 나오고 그 다음 순위를 다음 번호로 반환 (1 1 2)ROW_NUMBER() OVER() : 동등 순위를 인식하지 않고 매번 증가되는 번호를 반환 (1 2 3)OVER(PARTITION BY) : 이때 파티션을 적용해 파티션 안의 순위를 찾을 수 있음LEAD() OVER() : 지정된 ..
Data Structure배열과 리스트사용 단서 : 연속 공간에 값을 채울 경우// 배열public class ArrayExample { public static void main(String[] args) { int[] array = new int[3]; // 크기가 3인 배열 생성 array[0] = 1; // 첫 번째 요소에 값 1 할당 array[1] = 2; // 두 번째 요소에 값 2 할당 array[2] = 3; // 세 번째 요소에 값 3 할당 // 배열 값 출력 System.out.println("배열의 값들:"); for (int i = 0; i // 리스트public class ..