이유's Programming

    Two Sum - LeetCode

    투 썸 구하는 방법 우선 이중 for 문으로 구하는 방법... 간단하게... nums 안에 들어가는 i 와 j 를 구분해서 하기. class Solution { public int[] twoSum(int[] nums, int target) { int nums_length = nums.length; for(int i=0; i < nums_length - 1; ++i){ for(int j=i+1; j < nums_length; ++j){ if(nums[j] == target - nums[i]){ return new int[]{i,j}; } } } return new int[2]; } } public class Main { public static void main(String[] args) { System...

    Today I learned 오늘부터 시작

    📃 오늘 목표 해야할 오늘 목표 정리하자!

    함수형 프로그래밍에 대한 introduction / 선언형 프로그래밍/ 함수형 프로그래밍/ functional programming

    함수형 프로그래밍에 대한 introduction / 선언형 프로그래밍/ 함수형 프로그래밍/ functional programming

    왜 함수형 프로그래밍을 해야하는가? 함수형 프로그래밍(FP)은 결코 새로운 개념이 아닙니다. 프로그래밍의 거의 모든 역사에 걸쳐 있었습니다. 하지만, 원래는 주류가 아니었던 FP 가 현재는 언어 수준 뿐만 아니라 정말 많은 부분에서 그에 대한 관심이 커지고 있습니다! 그래서 왜 이 함수형 프로그래밍을 해야하는지 아래 두 예제를 보면서 살펴보겠습니다. 두 예제는 정확히 동일한 outcome 인 42 를 반환합니다. 첫번째 예제 ) var numbers = [4,10,0,27,42,17,15,-6,58]; var faves = []; var magicNumber = 0; pickFavoriteNumbers(); calculateMagicNumber(); outputMsg(); // The magic numb..

    [ 3 -5 ] 계층형 질의

    [ 3 -5 ] 계층형 질의

    계층형 질의는 -> 우선 테이블의 상위 사원과 하위 사원 관계가 있다. 해당 테이블에서 가서 상위 사원과 하위 사원 관계데이터에 대해서 서로 연결되는 것잉 있다.! 사원 테이블 에서 사원들 사이에 상위 사원( 관리자) 과 하위 사원 관계가 존재함. A. 순환 관계 아래에 대한 예시. 관리자로서 우선 두개의 테이블만 JOIN 해서 보면 되는 관계 순환 관계는 - SELF JOIN 을 통해서 해당 내용을 본다. SELECT WORKER.EMPNO AS 사원번호, WORKER.ENMAE AS 사원명, MANAGER.ENAME AS 관리자명 FROM EMP WORKER, EMP MANAGER WHERE MANAGER.EMPNO = WORKER.MGR B. 계층형 모델 SELECT ... FROM 테이블 WHER..

    [ 3- 4] 그룹 소계함수 - 보고서 작성을 훨씬 쉽고 매끄럽게! group by 와 order by 사용 / rollup 과 order by 함수

    [ 3- 4] 그룹 소계함수 - 보고서 작성을 훨씬 쉽고 매끄럽게! group by 와 order by 사용 / rollup 과 order by 함수

    우선 두 가지 방법이 있는데 먼저 group by 의 사용을 먼저 보자. Products table 에 group by 를 이용해서 하는 경우를 확인해보자! 1) group by 케이스 SELECT count(*), categoryid FROM Products group by CategoryID 2) Roll up 케이스 - ROLLUP 의 특징 : 아래 처럼 이렇게 1개의 그룹에 대해서 하는 것이 아니라 여러 그룹 즉 소그룹 간의 데이터를 하는 것이기 때문에 아래와 같은 예시는 쓰이지 않는다. SELECT count(*), categoryid FROM Products group by ROLLUP ( categoryid) order by category id 단 다양한 GROUP 에 대해서 쓰이는데 se..

    다중 행 서브 쿼리

    서브 쿼리의 결과가 2건 이상 반환 될 수 있다면, 반드시 다중 행 비교 연산자 ( IN, ALL, ANY, SOME) 와 함께 사용해야 한다. 지금 부터 살펴볼 것은 다중 행 서브 쿼리이다. 즉 서브쿼리 안에 ( select * from ) 을 해서 나온 결과값들이 이제 하나의 값이 아니라 2개 이상일 때 쓰이는 것이다. - Any 조건 * 서브 쿼리 결과에 존재하는 값에 어느 하나의 값이라도 만족하면 이가 쓰임. * return 값 : boolean true 인지 false 인지 SELECT ProductName FROM Products WHERE ProductID = ANY (SELECT ProductID FROM OrderDetails WHERE Quantity = 10); - ALL 조건 * 모..

    SQL 쿼리 - group by / having

    집계 함수는 여러 행들의 그룹이 모여서 단 하나의 결과를 돌려주는 함수를 말하는 것! 그래서 크게 어떤 데이타를 어떤 기준으로 묶을 때 우리는 집계 함수를 쓰게 된다. GROUP BY 함수 - Group by 절은 행들을 소그룹화한다. - SELECT 절 / HAVING 절 / ORDER BY 절에 사용할 수 있다. 예시 ) 케이리그 선수들의 포지션별 평균키는 어떻게 되는가? 란 요구사항에 맞는 쿼리 SELECT POSITION AS 포지션, AVG ( HEIGHT) AS 평균키 FROM PLAYER GROUP BY 포지션 HAVING AVG ( HEIGHT) >= 180 CASE 표현을 활용한 월별 데이터 집계 집계함수 ( CASE () ~ GROUP BY ) 기능은 반복되는 칼럼을 이제 구분용 칼럼을..

    [ 4 - 3] 인덱스 종류

    [ 4 - 3] 인덱스 종류

    이번에는 인덱스 종류에 대해서 먼저 살펴볼 것이다. 인덱스는 다양한 종류가 있는데 우선 모든 DBMS 가 B* Tree 를 기본적으로 제공한다. 가. B* Tree 인덱스 몇가지 조건을 통해서 BALANCED된 상태로 유지시켜주는 자료구조이다. B* Tree 의 인덱스는 B 인 Balanced 의 약자로서 인덱스 루트에서 리프 노드까지 어떤 값으로 탐색하더라도 같음을 의미한다. 루프로부터 모든 리프 블록까지의 높이가일정하다. 하지만 Index Skew 또는 Sparse 현상이 생기는 경우가 있다. 이는 인덱스 효율에 좋지 않는 구조를 보여준다. * Index Skew : 인덱스 엔트리가 왼쪽 또는 오른쪽에 치우치는 현상을 말함. 왼쪽 에 있는 인덱스 엔트리가 empty 고 오른쪽에 있는 인덱스 엔트리는 ..