전체 글 246

1115 스터디

1️⃣ SQL요약 INSERT 문을 통해 데이터를 입력할 수 있다 정확성을 위해서 컬럼명 입력 권장 AUTO_INCREMENT를 통해 id 등을 자동 증가 입력되도록 할 수 있다 꼭 PRIMARY KEY로 지정해줘야 한다 LAST_INSERT를 통해 어디까지 증가됐는지 확인할 수 있다 ALTER TABEL을 이용하여 특정 번호부터 시작되게 할 수 있다, @@auto_increment_increment를 이용해 건너뛰기도 가능하다 INSERT INTO와 SELECT문을 통해 조회된 결과를 출력하는 것이 아닌 테이블에 저장할 수 있다 UPDATE, DELETE시 WHERE를 잘 써줘야 한다 (안그러면 모든 행에 수정됨) 정수형: TINYINT, SMALLINT, INT, BIGINT UNSIGNED로 특정 ..

6강. 회귀 문제를 이해하고 k-최근접 이웃 알고리즘으로 풀어 보기

03-1. k- 최근접 이웃 회귀 * 25cm, 150g짜리 생선 = 도미인데 빙어로 분류됨 * kneighbors()를 통해 이상한 도미의 최근접 이웃을 찾아봄 → 하나만 도미, 나머지는 빙어 * 이유는 x축과 y축의 스케일이 달라서!!! * 조정후 살펴보니 x축으로는 데이터가 퍼지지 않고 y축을 따라서 데이터가 분포되어 있다 → 무게 특성이 영향을 많이 준다는 것 * 특성의 스케일을 맞춰줘야 특정 특성에 알고리즘이 좌지우지 되지 않는다 * 데이터전처리 - 스케일 조정 中 표준점수 (z점수) * 테스트할 데이터도 훈련세트의 평균과 표준편차를 이용해 표준 점수를 구해야 한다 * 거리에 민감한 알고리즘: k-최근접 이웃, 회귀 알고리즘들, 딥러닝 알고리즘들 / 전처리 필수!!! * 트리기반 알고리즘은 거리..

14~15강 :: 구현 유형 개요 및 문제 풀이

👉🏻 구현 (Implementation) 구현이란, 머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정 - 아무리 알고리즘을 잘 세워도 실제로 코드로 작성해서 프로그램으로 만들지 않으면 알고리즘이 실제로 동작하지 않는다 - 알고리즘 문제를 푸는 과정에서 구현은 반드시 필요한 과정 - 그래서 모든 문제가 구현 유형이라고 할 수 있긴 하다 - 하지만 특별히 '구현 유형'이라고 부르는 것은 문제에서 요구하는 내용이 구현에 맞춰져 있거나 구현이 어려운 문제 흔히 알고리즘 대회에서 구현 유형의 문제란 무엇을 의미할까? 풀이를 떠올리는 것은 쉽지만 소스코드로 옮기기 어려운 문제를 지칭 구현 유형의 예시 알고리즘은 간단한데 코드가 지나칠 만큼 길어지는 문제 실수 연산을 다루고, 특정 소수점 자리까지 출력해야하는 문제 문..

[프로그래머스 lv.1] 흉부외과 또는 일반외과 의사 목록 출력하기

❓문제 다음은 종합병원에 속한 의사 정보를 담은DOCTOR 테이블입니다. DOCTOR 테이블은 다음과 같으며 DR_NAME, DR_ID, LCNS_NO, HIRE_YMD, MCDP_CD, TLNO는 각각 의사이름, 의사ID, 면허번호, 고용일자, 진료과코드, 전화번호를 나타냅니다. 문제 DOCTOR 테이블에서 진료과가 흉부외과(CS)이거나 일반외과(GS)인 의사의 이름, 의사ID, 진료과, 고용일자를 조회하는 SQL문을 작성해주세요. 이때 결과는 고용일자를 기준으로 내림차순 정렬하고, 고용일자가 같다면 이름을 기준으로 오름차순 정렬해주세요. 예시 DOCTOR 테이블이 다음과 같을 때 SQL을 실행하면 다음과 같이 출력되어야 합니다. 주의사항 날짜 포맷은 예시와 동일하게 나와야합니다. 🤔풀이 방법 고민해보..

[프로그래머스 lv.1] 12세 이하인 여자 환자 목록 출력하기

❓문제 다음은 종합병원에 등록된 환자정보를 담은 PATIENT 테이블입니다. PATIENT 테이블은 다음과 같으며 PT_NO, PT_NAME, GEND_CD, AGE, TLNO는 각각 환자번호, 환자이름, 성별코드, 나이, 전화번호를 의미합니다. 문제 PATIENT 테이블에서 12세 이하인 여자환자의 환자이름, 환자번호, 성별코드, 나이, 전화번호를 조회하는 SQL문을 작성해주세요. 이때 전화번호가 없는 경우, 'NONE'으로 출력시켜 주시고 결과는 나이를 기준으로 내림차순 정렬하고, 나이 같다면 환자이름을 기준으로 오름차순 정렬해주세요. 예시 PATIENT 테이블이 다음과 같을 때 SQL을 실행하면 다음과 같이 출력되어야 합니다. 🤔풀이 방법 고민해보기 PT_NAME, PT_NO, GEND_CDM AG..

[SQL 기초 강의] 11강. SQL 프로그래밍(IF문, CASE문, WHILE문, 동적SQL)

04-3. SQL 프로그래밍 - 한마디로 코딩하는 것 - 일반 언어보다는 약하지만 일반적 코딩에 가깝게 SQL을 사용할 수 있는 것 👉🏻 스토어드 프로시저 - SQL 프로그래밍은 기본적으로 스토어드 프로시저 안에 만들어야 한다 - 스토어드 프로시저 이름은 우리가 지정 - 'SQL 프로그래밍 코딩'하는 부분에 코드 작성 더보기 `DELIMITER $$`는 MySQL 쿼리를 작성할 때 사용되는 구분자(delimiter)를 변경하는 명령입니다. 이 명령은 주로 저장 프로시저(Stored Procedure), 트리거(Trigger), 이벤트(Event) 등과 같은 복잡한 쿼리 블록을 정의할 때 사용됩니다. 일반적으로, MySQL에서 기본 구문 구분자는 세미콜론(`;`)입니다. 하지만 저장 프로시저 등의 복잡한 ..

MySQL/혼공SQL 2023.11.14

5강. 정교한 결과 도출을 위한 데이터 전처리 알아보기

👉🏻 복습.. ✅ 양성 클래스 (Positive Calss) - 이진 분류 (0 or 1)에서 찾고자 하는 클래스 (1) - 찾고자 하는 클래스가 아닌 것은 음성 클래스 (0) - 대부분의 알고리즘이 이렇게 데이터를 주입해주기를 기대하고 있다 - 좋고 나쁘고의 문제가 아님 *샘플링편향 * 주로 샘플을 행에 특성을 열에 넣은 이차원 배열을 훈련 데이터로 사용 * 배열 자체를 섞으면 쌍을 이루지 못하기 때문에 배열의 인덱스를 섞음 + 배열 슬라이싱: 섞인 배열을 쉽게 만들 수 있다, 인덱스 배열만 만들어 섞으면 되기 때문에 공간 차지가 크지 않다 👉🏻 이전 머신러닝 프로그램의 문제점 - 위 생선을 빙어로 예측한다고 함 - 하지만 도미에 가까워보임 👉🏻 넘파이로 데이터 준비 - 이전 시간까지는 fish_len..

[SQL 기초 강의] 10강. 두 테이블을 묶는 JOIN(INNER JOIN, OUTER JOIN, CROSS JOIN, SELF JOIN)

04-2. 두 테이블을 묶는 조인 👉🏻 조인 - 두 개의 테이블을 묶는 것 - 회원 테이블과 구매 테이블을 묶어 하나의 정보를 만들고 싶다 - 배송 정보의 경우 구매한 물건에 대한 정보와 배송을 받을 회원의 정보가 필요함 👉🏻 내부 조인 - 제일 중요하고 많이 쓰임 - **조인이라고 안 하고 그냥 '조인'이라고 하면 내부 조인이라고 생각하면 됨 🧩 일대 다 관계 (one to many) 내부 조인의 기본 조건 예외도 있긴 하지만 PK - FK 관계 - 회원 테이블의 ID - PK(중복 불가), 하나 밖에 없음 - 구매 테이블의 ID - PK로 지정하면 큰일남 (한 사람당 한 번 밖에 못 삼) - FK(외래키)로 잡음 - 한 회원이 여러번 나타날 수 있음 (=여러번 구매할 수 있음) ✅ 기본키 - 외래키 ..

MySQL/혼공SQL 2023.11.13

[SQL 기초 강의] 9강. MySQL의 데이터 형식(정수형, 문자형, 실수형, 날짜형)과 형 변환

04-1. MySQL의 데이터 형식 - 테이블에 열을 여러개 만들었다 - 각 열에는 데이터 형식이 지정되어있다 - 숫자, 문자, 날짜 등.. - 각 형식 안에서도 세분화됨 👉🏻 정수형 소수점이 없는 숫자 🧩 종류 ✅ INT Integer 가장 무난 /기본적 내부적으로 4byte 차지 데이터를 정말 많은 건수를 저장함 예를 들어 나이를 저장한다면 0~100정도가 될것이다. 그런데 INT는 -21억 ~ 21억 까지 아주 큰 범위를 저장할 수 있다. 하지만 나이를 이렇게 많이 표현할 필요는 없다 ✅ SMALLINT 바이트수가 INT의 절반 ✅ TINYINT SMALLINT보다 더 작은 것 나이 정도는 TINYINT로 가능 🎮 테이블을 만들어 확인해보기 - 데이터 입력 - 잘 들어감 🎮 범위를 넘는 수 넣어보기..

MySQL/혼공SQL 2023.11.11

[SQL 기초 강의] 8강. 데이터 변경을 위한 SQL 문(INSERT, UPDATE, DELETE)

03-3. 데이터 변경을 위한 SQL 문 - SELECT 문은 조회만 하는 것. 변경을 하진 않는다 👉🏻 INSERT문 🧩 기본 문법 INSERT INTO 테이블명 [(컬럼명, 컬럼명, ...)] VALUES(데이터, 데이터, ...) - 컬럼명은 생략 가능 🎮 모든 열에 데이터 넣기 🎮 나이 열에는 데이터를 넣지 않기 🎮 입력 순서 바꿔도 OK - 값만 맞춰 넣어주면 된다 - 귀찮아도 정확하기 때문에 권장되는 방식 🧩 Auto Increment - 위에처럼 ID를 직접 1, 2, 3,... 이렇게 입력해주는 것이 아니라 ID가 자동으로 증가하며 입력되도록 - 번호가 의미 있는건 아니고 자동 생성만 되면 된다 - 현실에서 물건을 구매했을 때 구매번호(아이디)가 Auto Increment (중복X) - 이..

MySQL/혼공SQL 2023.11.11