본문 바로가기

반응형

전체 글

(155)
[SolveSQL] 두 테이블 결합하기, SQL 조인(JOIN) 정리 SQL 기본 문법 : JOIN (INNER, OUTER, CROSS, SELF JOIN) 두 개의 테이블을 엮어야 하는 일이 정말 많은데, 그럴 때, JOIN을 사용하면 두 개의 테이블을 엮어서 원하는 데이터를 추출할 수 있다. 두 테이블의 조인을 위해, 일대다 관계로 기본키(PRIMARY KEY, PK)와 외래키(FOREIGN KEY, FK) 관계로 맺어져야 한다. - INNER JOIN(내부 조인) : 두 테이블에 모두 일치하는 값이 있는 레코드를 반환 ## INNER JOINSELECT FROM INNER JOIN ON [WHERE 검색 조건]JOIN의 기본값은 INNER JOIN 이다.(교집합에 해당하는 개념) - OUTER JOIN : 1개의 테이블에만 데이터가 있어도 됨SELECT FROM O..
[SolveSQL] 다음날도 서울숲의 미세먼지 농도는 나쁨, with as 문 ### 놓쳤던 부분데이터를 만든 후에, 해당 데이터의 테이블을 새로운 테이블로 만든 후where 문으로 조건을 설정해서 해주는 쉬운 방법이 있었다. 방법은 WITH table_name AS (select ~ from ~) 이런 식으로 진행해주면 된다. 쿼리를 작성할 때, 서브쿼리로 끝내는 것 말고, 쿼리를 분리해내는 방법이 가능한지 생각을 못했던 것 같다.WITH AS 구문을 통해 복잡한 부분의 쿼리를 분리하거나,(가독성 +1)반복적으로 쓰이는 서브 쿼리를 성능의 향상으로 생각할 수 있다는 장점이 있다. WITH 이름 AS ( SELECT ... FROM ... WHERE ...)SELECT ....FROM 이름WHERE ....    ## 틀린 코드SELECT measured_at as t..
백준 2504 - 괄호의 값 python https://www.acmicpc.net/problem/2504 문제 4개의 기호 ‘(’, ‘)’, ‘[’, ‘]’를 이용해서 만들어지는 괄호열 중에서 올바른 괄호열이란 다음과 같이 정의된다. 한 쌍의 괄호로만 이루어진 ‘()’와 ‘[]’는 올바른 괄호열이다. 만일 X가 올바른 괄호열이면 ‘(X)’이나 ‘[X]’도 모두 올바른 괄호열이 된다. X와 Y 모두 올바른 괄호열이라면 이들을 결합한 XY도 올바른 괄호열이 된다. 예를 들어 ‘(()[[]])’나 ‘(())[][]’ 는 올바른 괄호열이지만 ‘([)]’ 나 ‘(()()[]’ 은 모두 올바른 괄호열이 아니다. 우리는 어떤 올바른 괄호열 X에 대하여 그 괄호열의 값(괄호값)을 아래와 같이 정의하고 값(X)로 표시한다. ‘()’ 인 괄호열의 값은 2이다...
백준 14888번 - 연산자 끼워넣기 python 문제 링크 : https://www.acmicpc.net/problem/14888 첫번째 예제 입력을 보면, 첫 째 줄에는 수의 개수는 2 , 둘 째 줄에는 5 6 셋째줄에는 0 0 1 0 이기 때문에 곱셈이 하나 있다는 뜻이다. 그러면 출력의 결과는 최댓값, 최솟값 둘로 진행해야 하는데, 연산자가 하나밖에 없으니 둘다 30이라는 것이다. — 다행인 점은, 첫번째 줄에 숫자의 크기를 준다는 점, 그리고 숫자들이 섞이지 않고 순서를 지킨다는 점. 최댓값과 최솟값의 값이 정해진 점 How to access? Maybe brote forcing? 이걸 설마 하나하나 다해보는건 아니겠지 고민하다가 결국 알고리즘 분류 힌트를 봤는데, 브루트포스 알고리즘 이었다… 플러스로 백 트래킹 import sys input ..
[BEAKJOON] 백준 1012 - 유기농 배추 https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net 처음에 선언을 해줄 때, 빈값인 값으로 리스트를 초기화하기 위해서는 아래와 같이 해주어야 한다. for 문을 꼭 사용해서,, cabbage = [[0] * m for _ in range(n) ] 나는 새로운 도전을 하고자 새로운 방식으로 해줬는데 cabbage = [[0] * m]*n 어,, 한 열을 다 똑같다고 생각해서 바꾸기 때문에 조심해야 한다. 조심해야 할 점은, 행은 y축, 열은 x 축이라는 점이다...
[BEAKJOON] 백준 2667 - 단지번호붙이기 https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net DFS - 깊이 우선 탐색 - Root node 나 다른 임의의 node에서 다음 분기로 넘어가기 전에 해당 분기를 완벽히 탐색하는 방법이다. Stack 혹은 재귀함수(Recursion)으로 구현된다. - 경로를 탐색하고 한 방향으로 갈 때까지 가고 안되면 다른 방향으로 다시 탐색 - 모든 노드를 방문하는 경우 시간 복잡도 ( V : 접점, E : 간선 ) - 인접 리스트 : O ( V + E ) ..
[BEAKJOON] 백준 6566 - 애너그램 그룹 https://www.acmicpc.net/problem/6566 6566번: 애너그램 그룹 크기가 가장 큰 애너그램 다섯 개를 출력한다. 만약, 그룹의 수가 다섯개보다 작다면, 모두 출력한다. 그룹은 크기가 감소하는 순으로, 크기가 같을 때는 각 그룹에서 가장 사전 순으로 앞서는 www.acmicpc.net 처음에 해당 문제를 SET 집합을 사용하여 합집합이고 같은 것을 묶어야 하나 생각을 했었는데, 그러면 중복되는 값이 없어지게 되기 때문에 정보의 손실이 일어나니 틀린 값이 나올 확률이 있다. 그러면 해당 문자열들의 각 문자 값들을 어떻게 같은건지 확인을 할 수 있을까? 하면 abc 알파벳 순서대로 정렬을 해주는 것을 생각할 수 있다. 주의할점 1. "같은 단어는 한번만 출력", 예를들어서 입력으로 ..
히스토그램(histogram) - 시각화를 어느 상황에서 사용하면 좋을까? *참고 T-test(T 검정) : 두 집단 간의 평균 차이가 유의미한지 검증하는 보편적인 통계 방법 평균을 비교하는 이유가 무엇일까? 평균은 한 집단을 대표할 수 있는 대푯값 중 하나이다. 두 모집단의 평균 차이 유무를 판단하는 통계적 검정 방법으로 단순히 차이의 존재 여부를 떠나 그 정도의 통계적 유의미성까지 검정하는 방법이다. 그렇다면 두 집단이 아니라, 세집단 혹은 그 이상이라면 T-test를 사용하면 안된다. "두 모집단의 평균의 차이유무"를 비교하는 것은 T-test이니, 이 경우에는 분산분석 즉, ANOVA(Analysis Of Variance)를 사용한다. t-test의 조건 조건 1] 표본이 독립적인가? (t-test or paired t-test) 조건 2] 수집된 데이터가 정규 분포를 ..

반응형