✔ 배열 돌리기 1[백준 16926]코드 구현하기/* * 문제 분석하기 * : 상, 우, 하, 좌 순으로 각 줄마다 배열을 회전하도록 함 *//* * 손으로 풀어보기 * 1. 배열에서 한 번의 회전 동안 몇 줄을 회전시켜야 하는지 찾도록 함 * 2. 각 회전 횟수마다 모든 줄의 가장 첫 번째 배열 값(상단의 가장 좌측 값)을 저장해놓도록 함 * 3. 상, 우, 하, 좌 순으로 각 배열 값을 회전하도록 함 * 4. 마지막에 따로 저장해둔 배열 값을 저장하도록 함 *//* * 16926) 배열_돌리기_1 */public class Main { static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); stati..
✔ 다음 소수[백준 4134]코드 구현하기/* * 문제 분석하기 * : n보다 크거나 같은 수 중에서 가장 작은 소수를 구하도록 함 *//* * 손으로 풀어보기 * 1. n부터 시작하여 각 수가 1과 자기 자신만을 약수로 가지는지 확인하며 가장 작은 소수를 구하도록 함 * 2. 각 케이스에 대해 한 줄에 하나씩 소수를 출력함/* * 4134) 다음_소수 */public class Main { static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); static int T; // T(테스트 케이스의 개수) static long answer; // answer(가장 작은 소수) /* * 각..
✔ 학부 연구생 민상[백준 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() : 지정된 ..