Note
[프로그래머스] Level 1: 상위 n개 레코드 (MySQL/ORACLE) 문제 풀이 / 핵심 내용 정리
상위 n개 레코드 🧨 문제 설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FALSE DATETIME DATETIME FALSE INTAKE_CONDITION VARCHAR(N) FALSE NAME VARCHAR(N) TRUE SEX_UPON_INTAK..
[프로그래머스] Level 1: 신규 아이디 추천 (JavaScript/Java) 문제 풀이 / 핵심 내용 정리
신규 아이디 추천 🍦 문제 설명 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 가입하는 유저들이 카카오 아이디 규칙에 맞지 않는 아이디를 입력했을 때, 입력된 아이디와 유사하면서 규칙에 맞는 아이디를 추천해주는 프로그램을 개발하는 것입니다. 다음은 카카오 아이디의 규칙입니다. 아이디의 길이는 3자 이상 15자 이하여야 합니다. 아이디는 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.) 문자만 사용할 수 있습니다. 단, 마침표(.)는 처음과 끝에 사용할 수 없으며 또한 연속으로 사용할 수 없습니다. "네오"는 다음과 같이 7단계의 순차적인 처리 과정을 통해 신..
[프로그래머스] Level 1: 문자열 내 p와 y의 개수 (Java) 문제 풀이 / 핵심 내용 정리
문자열 내 p와 y의 개수 💥 문제 설명 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다. 예를 들어 s가 "pPoooyY"면 true를 return하고 "Pyy"라면 false를 return합니다. 제한사항 문자열 s의 길이 : 50 이하의 자연수 문자열 s는 알파벳으로만 이루어져 있습니다. 입출력 예 s answer "pPoooyY" true "Pyy" false 입출력 예 설명 입출력 예 #1 'p'의 개수 2개, 'y'의 개수 2개로 같으..
[SQLD 시험] 제41회 SQL 개발자(SQLD) 독학 후기
ADsP 시험 1주일 뒤가 SQLD 시험이라 공부할 여유가 없었다. ADsP 과목이 생소했기에 여기에 집중했고 SQLD는 투자를 별로 못했다. 그래도 SQL은 꾸준히 공부해왔고 실전에서도 사용했던 경험이 있기에 덜 걱정되었고, 그렇게 5일정도 공부해서 시험을 보게 되었다! 이 친구도 마찬가지로 50,000원의 응시비.. 기본 개념은 구글링으로 요약된 내용을 훑어보았고, 다들 노랭이책을 필수로 풀어본다해서 시험 전 급하게 구매해서 보았다! (생각없이 보다가 다른 범위까지 공부할뻔..) 문제를 풀면서 어떤식으로 문제가 나오는지 파악했고 좌측 개념 설명을 토대로 개념공부도 진행했다. 생각보다 SQL 문제가 어렵다고 느꼈다.. 눈으로 코드를 실행하려니까 잘 안됐다 ㅠㅠ 개념공부를 제대로 안했으니까 답지도 꼼꼼히..
[프로그래머스] Level 1: 가운데 글자 가져오기 (Java) 문제 풀이 / 핵심 내용 정리
가운데 글자 가져오기 🌞 문제 설명 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 재한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 s return "abcde" "c" "qwer" "we" 풀이 계획 가운데 글자를 가져오기 위해 문자열의 길이를 절반으로 나누어 진행해야겠다. 👩💻 Java 나의 문제 풀이 class Solution { public String solution(String s) { String answer = ""; int length = s.length(); if( length % 2 == 0) { answer = s.substring((length/2)-1, (length/2)+..
[SQLD] SQLD 자격검정 시험 핵심 요약 (feat. 노랭이책)
'SQL 자격검정 실전문제'(일명 노랭이책)을 풀며 핵심 개념을 정리한 글입니다 1-1 데이터 모델링의 이해 1-2 데이터 모델과 성능 2-1 SQL 기본 2-2 SQL 활용 2-3 SQL 최적화 기본 원리 ✨ 1-1 데이터 모델링의 이해 데이터모델링이 필요한 이유 업무정보를 구성하는 기초가 되는 정보들에 대해 일정한 표기법에 의해 표현 분석된 모델을 가지고 실제 데이터베이스를 생성하여 개발 및 데이터 관리에 사용 데이터모델링 유의점 중복: 여러 장소에 같은 정보 저장 x 비유연성: 데이터의 정의를 데이터의 사용 프로세스와 분리 → 데이터 혹은 프로세스의 작은 변화가 애플리케이션과 데이터베이스에 중대한 변화를 일으킬 수 있는 가능성 줄임 비일관성: 데이터와 데이터 간의 상호 연관 관계에 대해 명확히 정의..
[SQLD] 2과목 요약 정리: 2-2 SQL 활용
표준 조인 일반 집합 연산자 UNION: 합집합, 중복 제거 INTERSECT: 교집합 EXCEPT/MINUS: 차집합(DIFFERENCE) CROSS JOIN: 곱집합(PRODUCT), JOIN조건이없는 경우 생길 수 있는 모든 조합 순수 관계 연산자 SELECT: WHERE절로 구현 PROJECT: SELECT절로 구현 NATURAL JOIN: 다양한 JOIN DEVIDE: 사용X FROM절 JOIN INNER JOIN: 내부 조인, 동일한 값이 있는 행만 반환 JOIN 조건을 USING절이나 ON절에서 사용 NATURAL JOIN: 등가조인 수행 USING절이나 ON절, WHERE절에서 조건 정의 가능 CROSS JOIN: 생길 수 있는 모든 데이터의 조합 OUTER JOIN: 동일한 값이 없는 행..
[SQLD] 2과목 요약 정리: 2-1 SQL 기본
관계형 데이터베이스 데이터베이스의 발전 1960s, 파일 구조를 통해 데이터를 저장하고 관리 1970s, 계층형 데이터베이스, 망향 데이터베이스 상용화 1980s, 관계형 데이터베이스 상용화, oracle 사용 시작 1990s, 객체 관계형 데이터베이스로 발전 관계형 데이터베이스 1970, 영국의 수학자 E.F.Codd 박사가 처음 소개 정규화를 통한 이상현상 제거, 동시성 관리, 병행 제어를 통한 동시 공유 SQL DML(데이터 조작어): SELECT, INSERT, UPDATE, DELETE DDL(데이터 정의어): CREATE, ALTER, DROP, RENAME DCL(데이터 제어어): GRANT, REVOKE TCL(트랜잭션 제어어): COMMIT, ROLLBACK TABLE 행과 칼럼의 2차원..
[SQLD] 1과목 요약 정리: 1-2 데이터 모델과 성능
성능 데이터 모델링 데이터베이스 성능향상을 목적으로 설계 단계의 데이터 모델링 때부터 정규화, 반정규화, 테이블 통합, 테이블 분할, 조인구조, PK, FK 등 반영 초기 단계에 고려할수록 재업무 비용 최소화 프로세스 데이터 모델링을 할 때 정규화를 정확히 수행 데이터베이스 용량산정 수행 데이터베이스에 발생되는 트랜잭션의 유형 파악 용량과 트랜잭션의 유형에 따라 반정규화 수행 이력 모델의 조정, PK/FK 조정, 슈퍼/서브타입 조정 성능 관점에서 데이터 모델 검증 정규화 데이터를 결정하는 결정자에 의해 함수적 종속을 가진 일반속성을 의존자로 하여 입력/수정/삭제 이상을 제거 한 테이블에 인덱스가 많아지만 조회 성능 향상, 입력/수정/삭제 성능 저하 함수적 종속성: 데이터들이 어떤 기준값에 의해 종속되는 ..
[SQLD] 1과목 요약 정리: 1-1 데이터 모델링의 이해
데이터 모델링 모델링 특징 추상화: 현실 세계를 일정한 형식에 맞춰 표현 단순화: 복잡한 현실 세계를 약속된 규약을 통해 쉽게 이해할 수 있도록 함 명확화: 애매모호함 제거, 정확한 현상 기술 모델링 관점 데이터 관점(what) 프로세스 관점(how) 상관 관점(interaction) 데이터 모델링 중요성 파급효과: 시스템 구축 작업 중 데이터 설계가 중요 간결한 표현: 복잡한 정보의 요구사항에 대한 간결한 표현 데이터 품질: 정확성이 높은 데이터, 데이터 구조의 문제 유의점 중복: 여러 장소에 같은 정보 저장 비유연성: 사소한 업무 변화에 데이터 모델이 수시로 변경되면 안됨 비일관성: 신용 상태에 대한 갱신 없이 고객의 납부 이력 정보 갱신 안됨 (연계성 하락) 데이터 모델링 과정 모델링 3요소: th..