목록algorithm/CodingTest (27)
on my way
파이썬에서 딕셔너리는 매우 유용한 데이터 구조 중 하나로, 키-값 쌍을 저장합니다.이는 해시 테이블을 기반으로 하여 매우 빠른 검색 속도를 제공합니다.코딩테스트에서 딕셔너리를 잘 활용하면 문제를 효율적으로 해결할 수 있습니다. 지금부터 파이썬 딕셔너리의 문법과 유용한 기능을 정리하겠습니다. 1. 딕셔너리 생성딕셔너리는 중괄호 {}를 사용하여 생성합니다. 다음은 몇 가지 생성 방법입니다.# 빈 딕셔너리 생성dict1 = {}# 초기 값으로 딕셔너리 생성dict2 = {'a': 1, 'b': 2, 'c': 3}# dict() 함수로 생성dict3 = dict(a=1, b=2, c=3)# 리스트를 이용하여 생성dict4 = dict([('a', 1), ('b', 2), ('c', 3)]) 2. 요소 접근 및 ..
1. 날짜와 시간 형식 변환DATE_FORMAT(): 날짜와 시간 형식을 변환합니다.SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s');%Y: 연도 (4자리)%m: 월 (2자리)%d: 일 (2자리)%H: 시간 (24시간 형식, 2자리)%i: 분 (2자리)%s: 초 (2자리)2. 날짜와 시간 연산DATE_ADD(): 날짜를 더합니다.SELECT DATE_ADD(NOW(), INTERVAL 1 DAY); -- 하루 더하기DATE_SUB(): 날짜를 뺍니다.SELECT DATE_SUB(NOW(), INTERVAL 1 HOUR); -- 한 시간 빼기DATEDIFF(): 두 날짜 간의 차이를 일 단위로 반환합니다.SELECT DATEDIFF('2023-07-01', '2023-0..
1. JOIN의 유형MySQL에서 사용할 수 있는 주요 JOIN 유형은 다음과 같습니다:INNER JOINLEFT JOIN (또는 LEFT OUTER JOIN)RIGHT JOIN (또는 RIGHT OUTER JOIN)FULL JOIN (MySQL은 직접 지원하지 않지만, UNION을 사용하여 구현할 수 있음)CROSS JOINSELF JOIN 1.1 INNER JOININNER JOIN은 두 테이블에서 매칭되는 행만 반환합니다.SELECT A.*, B.* FROM TableA A INNER JOIN TableB B ON A.common_column = B.common_column; 1.2 LEFT JOINLEFT JOIN은 왼쪽 테이블의 모든 행과 오른쪽 테이블에서 매칭되는 행을 반환합니다.매칭되지 않는..
DFS (Depth-First Search)깊이 우선 탐색 DFS는 그래프 탐색 알고리즘 중 하나로, 그래프의 모든 정점을 방문하는 방법 중 하나이다.DFS는 가능한 깊이 있는 노드를 먼저 방문하는 방식으로 작동한다. ex)미로의 출구를 찾을 때, 가능한 깊숙히 들어간다.여러 갈래의 길이면 한 방향으로 끝까지 가보고 막다른 길이면 돌아와서 다른 길을 간다.시작 노드 : AA -> B -> DD -> BB -> C -> E즉, A -> B -> D -> C -> E DFS 예시import java.util.*;public class DFSExample { static class Graph { private int V; // 정점의 수 private LinkedList adj..
1. 기본 문법변수 선언과 초기화int a = 10;double b = 3.14;char c = 'A';String s = "Hello"; 조건문if (a > 5) { System.out.println("a is greater than 5");} else if (a == 5) { System.out.println("a is 5");} else { System.out.println("a is less than 5");} 반복문for (int i = 0; i 2. 자료 구조배열int[] arr = new int[5];arr[0] = 1;arr[1] = 2;int[] arr2 = {1, 2, 3, 4, 5}; ArrayListimport java.util.ArrayList;ArrayLis..
WHERE 절목적: WHERE 절은 행 수준에서 필터링을 수행합니다.사용 시기: 그룹화(GROUP BY)가 발생하기 전에 데이터를 필터링할 때 사용됩니다.적용 대상: 집계 함수(SUM, AVG, COUNT 등)가 아닌 개별 행의 조건을 지정할 때 사용됩니다.예시:SELECT * FROM employees WHERE salary > 50000;HAVING 절목적: HAVING 절은 그룹 수준에서 필터링을 수행합니다.사용 시기: 그룹화(GROUP BY)가 발생한 후, 그룹화된 데이터에 대한 조건을 지정할 때 사용됩니다.적용 대상: 집계 함수가 포함된 조건을 지정할 때 사용됩니다.예시:SELECT department, SUM(salary) as total_salaryFROM employeesGROUP BY d..