전체 글 422

Code up 1714 숫자 거꾸로 출력하기

Ex) Stack을 이용해서 숫자 거꾸로 출력하기 package D220310; import java.util.Scanner; import java.math.*; interface IStackable17141{ boolean empty(); int peek(); void pop(); void push(int nData); // int search(int nData); } public class ReversePrint implements IStackable17141{ private int [] mnArray; private int mnCapacity; private int mnTop; public ReversePrint(int nCapacity) { mnArray = new int[nCapacity]; m..

Chapter 07 DML : 집합과 조인 연산을 사용한 검색문 (다중 테이블 검색문)

- 조인 -> WHERE절 조인: SELECT문의 WHERE절에서 INNER JOIN 기능 제공 -> FROM절 조인: SELECT문의 FROM절에서 다양한 조인 기능 제공 Ex) INNER JOIN, NATURAL JOIN, OUTER JOIN, CROSS JOIN -> 카티션 프로덕트: CROSS JOIN - JOIN 일반 형식 SELECT 컬럼명 FROM 테이블 WHERE 조건식 GROUP BY 컬럼명 { UNION [DISTINCT | ALL] } | INTERSECT | EXCEPT SELECT FROM WHERE GROUP BY ORDER BY { 컬럼명 | 컬럼별칭 | 컬럼위치 [ ASC | DESC],}+ ; -> SELECT에서는 ALL 이 디폴트, UNION에서는 DISTINCT가 디폴..

[3주차] 강의노트 DML- Function & Update

2022-03-12 프로그래머스 3주차 강의 1. 3주차 세션 리뷰 1.0. 지난 과제 리뷰 - GROUP BY절 주의사항 - PPT 10쪽 ->productLine을 기준으로 GROUP BY 했지만 name, scale을 select할 수 는 있다. -> 이 부분에 대해 MySQL에서는 에러 여부 옵션 설정이 가능. (ONLY_FULL_GROUP_BY) -> MySQL의 디폴트 SQL mode 중 하나인 ONLY_FULL_GROUP_BY: GROUP BY란? -> ONLY_FULL_GROUP_BY: GROUP BY 기준 컬럼 혹은 기준 컬럼에 종속되지 않은 컬럼이 SELECT, HAVING, OREDER BY절에서 사용되면 질의 실행을 거부한다. -> 표준SQL에서는 에러이다. - 윈도우 함수(중요!)..

Java로 Stack 구현하기

Ex) interface IStackable0{ boolean empty(); int peek(); void pop(); void push(int nData); // int search(int nData); } public class StackPractice implements IStackable0{ private int [] mnArray; private int mnCapacity; private int mnTop; public StackPractice(int nCapacity) { mnArray = new int[nCapacity]; mnCapacity = nCapacity; mnTop = 0; } public boolean empty() { return (0 == mnTop); } public vo..

Chapter 06 DML : 내장 함수와 갱신문

1. 단일행 내장함수(Single-Row Built-In Functions) 1-1. SQL 내장 함수 - 단일행 내장 함수(SINGLE-ROW BUILT-IN FUNCTIONS): 함수의 입력이 단일 행 -> 각 행에 대해 개별적으로 적용, 단 하나의 결과를 리턴 (SELECT, ORDER BY, WHERE절에 사용) -> 함수의 인자(argument)로 컬럼명, 표현식, 상수가 가능 -> 함수의 인자로 함수를 사용하는 함수의 중첩(nesting)이 가능하다. Ex) 문자형 - ASCII(char), CHAR(integer): 아스키 코드 값, 아스키 문자를 리턴 - INSTR(str, substr): str에서 첫번째 나타나는 substr의 시작위치를 리턴 - SUBSTR(str, position[,..

Chapter 15 입출력 I/O

1. 자바에서의 입출력 1.1 입출력이란? - Input & Ouput => 입출력 1.2 스트림(stream) 입출력을 수행하려면 (어느 한쪽에서 한 쪽으로 데이터를 전달하려면) 데이터를 전송할 수 있는 무언가가 필요하다. "스트림"이란 데이터를 운반하는데 사용되는 연결 통로이다. 스트림은 단방향 통신만 가능하기 때문에 입력, 출력을 동시에 처리할 수 없다. 스트림은 Queue와 같이 선입선출 구조로 되어있어서 먼저 입력된 데이터가 먼저 출력된다. 1.3 바이트기반 스트림 - InputStream, OutputStream 스트림은 바이트 단위로 데이터를 전송하며 입출력 대상에 따라 다음과 같은 스트림이 있다. InputStream: read() 오버라이드하고 OutputStream: write() 오버..

Java/Java의 정석 2022.03.07

Chapter 05 DML : 단일 테이블 검색문 (Part 2)

3. 검색문의 GROUP BY 절과 HAVING절 - SELECT문의 GROUP BY절과 HAVING절 -> HAVING을 이용하면 원하는 특정 그룹만 선택 가능하다. -> 집단 함수를 함께 사용해서 그룹별 통계치를 생성한다. (1) 집단함수(Aggregate Functions) - 집단함수명 ( [ALL 또는 DISTINCT] 컬럼명 또는 표현식 ) ex) COUNT, SUM, AVG, MIN, MAX, STDDEV, VARIAN - 집단 함수는 WHERE절에 사용할 수 없다. (HAVING 절에는 가능) (2) GROUP BY절 - 표준SQL에서는 WHERE, GROUP BY절에서 alias 사용 불가능 - MySQL에서는 GROUP BY절 사용 가능 - 집단 함수의 중첩은 허용하지 않는다. - GR..

[2주차] 강의노트 DDL & DML

2022-03-05 프로그래머스 2주차 강의 0. 지난 과제 리뷰 - 표준 SQL 기능은 여러 프로그램에서 사용할 수 있다. - 내가 쓰는 기능이 표준인지 파악한다. - 고정길이 문자열(항상 n개 문자를 저장) / 가변길이 문자열의 차이() -> CHAR(n): 최대 255문자 / VARCHAR(n): 최대 65,535문자 -> 고정길이는 데이터를 읽어내는 게 빠르다. 단점: 디스크의 낭비? -> 가변길이는 디스크의 낭비가 적다. 단점: - NOT NULL -> 컬럼제약방식이 가장 적합 -> 그 외 -> ???방식 - Constraint는 수정이 안 된다. - 컬럼별칭은 표준 SQL에서는 '출력 용도'로만 사용한다.(SELECT, ORDER BY 절에 사용가능) -> MySQL에서는 GROUP BY절에서..

Chapter 14 람다와 스트림

ㅇ1. 람다식(Lambda expression) 1.1 람다식이란? Def) 람다식: 함수(메서드)를 간단한 식(expression)으로 표현하는 방법 - 람다식은 사실 익명 클래스의 객체와 동등하다. -> 람다식을 다루기 위한 참조 변수가 필요하다. - 함수와 메서드의 차이 -> 근본적으로 동일, 함수는 일반적 용어, 메서드는 객체지향개념 용어 -> 함수는 클래스에 독립적, 메서드는 클래스에 종속적이다. 1.2 람다식 작성하기 1) 메서드의 이름과 반환 타입을 제거하고 '->'을 블록 앞에 추가한다. 2) 반환값이 있는 경우, 식이나 만 적고 return문을 생략가능하다. (세미콜론 안 붙인다.) 3) 매개변수 타입이 추론 가능하면 생략 가능하다. (대부분 생략 가능) - 작성 시 주의사항 1) 매개 ..

Java/Java의 정석 2022.03.04

Chapter 12 지네릭스, 열거형, 에너테이션

1. 지네릭스(Generics) 1.1 지네릭스란? Def) 지네릭스: 다양한 타입의 객체들을 다루는 메서드나 컬렉션 클래스에 컴파일 시의 타입 체크를 해주는 기능 - 자료형을 제한해주는 기능이다. - 타입 안정성이 높아지고 형변환의 번거로움이 줄어들어 간결해진다. - 의도하지 않은 타입의 객체가 저장되는 것을 막는다. 1.2 지네릭 클래스의 선언 - 클래스와 메서드에 선언할 수 있다. Ex) 지네릭 클래스 Box가 선언되어 있을 때 - Box: 지네릭 클래스, 'T의 Box' 또는 'T Box'라고 있는다. - T: 타입 변수 또는 타입 매개변수(T는 타입 문자) - Box: 원시 타입(raw type) Note) 지네릭스의 제한 - 지네릭 타입의 배열을 생성할 수 없다. - static 멤버에 타입 ..

Java/Java의 정석 2022.03.02