전체 글 81

SQL 기본 문법 정리(1) (SELECT, DESC, AND, OR, LIKE)

1) SELECT - SELECT 명령은 데이터베이스의 데이터를 읽어올 수 있습니다. - 애스터리스크(*)는 '모든 열'을 의미하는 메타문자입니다. SELECT * FROM 테이블명 2) DESC - DESC 명령은 테이블 구조를 참조하는 명령입니다. DESC 테이블명; 3) 자료형 - 자료형에는 INTEGER형, CHAR형, VARCHAR형, DATE형, TIME형 등이 있습니다. 4) SELECT와 WHERE구 - SELECT 구에서 열을 지정한 후, WHERE 구에서 행을 지정할 수 있습니다. SELECT 열1, 열2 FROM 테이블명 WHERE 조건식 5) NULL 검색 - NULL 값을 검색할 때는 = 연산자가 아닌 'IS NULL'을 사용합니다. SELECT * FROM sample21 WHE..

SQL 2022.04.12

프로그래머스 SQL 고득점 KIT(SUM, MAX, MIN)

프로그래머스 SUM, MAX, MIN 4문제를 한 포스팅에 정리합니다. 프로그래머스 (programmers.co.kr) 1. 최댓값 구하기 방법 1 - DATETIME으로 시간을 조회합니다. - ORDER BY DATETIME DESC으로 시간 역순으로 정렬합니다. - LIMIT 1으로 값을 하나만 선택합니다. 방법 2 - MAX(DATETIME)으로 DATETIME 중 가장 큰 값을 선택합니다. - 해당 칼럼에 AS 시간이라는 별칭을 붙여줍니다. SELECT DATETIME FROM ANIMAL_INS ORDER BY DATETIME DESC LIMIT 1; SELECT MAX(DATETIME) AS 시간 FROM ANIMAL_INS; 2. 최솟값 구하기 방법 1 - DATETIME으로 시간을 조회합니..

SQL 2022.04.12

JVM

JVM이란? - Java Virtual Machine 목표 - JVM의 역할 이해 - JVM의 내부 구조 이해 본문 1) JVM의 3가지 개념 - JVM은 3가지 개념을 담고 있습니다. 그것은 명세, 구현, 인스턴스입니다. 명세 - JVM은 자세한 설계도가 아닌 이렇게 저렇게 해야 한다는 식의 표준화된 정의로 존재합니다. 구현 - 각 JVM 벤더들(Oracle, IBM 등)은 표준화된 정의에 기반해 자신들의 JVM을 별도로 구현하여 사용합니다. 인스턴스 - JVM은 자바 바이트코드로 컴파일된 컴퓨터 프로그램을 실행하는 프로세스입니다. 2) Java 프로그램의 수행 과정 (1) 자바 컴파일러가 자바 소스파일을 컴파일하여 자바 바이트코드(.class 파일)를 생성합니다. (2) 클래스 로더가 .class 파..

Java 2022.04.12

코딩 인터뷰 완전 분석 1.5 하나 빼기

문제 이해 - 두 문자열의 편집 횟수가 1회 이내인지 확인하라 해결 전략 - 두 문자열의 길이가 같다면, 문자열을 순회하면서 다른 문자가 하나 이하인지 확인한다 - 두 문자열의 길이가 다르다면, 길이가 짧은 문자열을 기준으로 순회하면서 두 문자열이 다르다면, 해당 문자를 긴 문자열에서 제거해준다. 그 이후 두 문자열이 같은지 확인한다. 구현 import java.util.*; public class Main { public boolean solution(String s1, String s2){ int len1 = s1.length(); int len2 = s2.length(); if(len1 == len2){ int diffCnt = 0; for(int i=0; i= 2){ return false; }e..

PS 2022.04.11

코딩 인터뷰 완전 분석 1.4 회문 순열

문제 이해 - 문자열이 회문의 순열인지 아닌지를 판단하라 해결 전략 - 배열을 이용해서 문자열의 각 문자의 개수를 저장한다. - 회문의 순열이기 위해서는 홀수인 문자의 개수가 없거나, 하나만 존재해야 한다. 구현 import java.util.*; public class Main { public boolean solution(String s){ int[] arr = new int[30]; int oddCnt = 0; s = s.toLowerCase(); for(int i=0; i

PS 2022.04.11

코딩 인터뷰 완전 분석 1.3 URL화

문제 이해 - 문자열에 들어 있는 모든 공백을 '%20'으로 바꿔라 해결 전략 - replace 메소드를 사용해서 공백을 %20으로 변환한다. 구현 import java.util.*; public class Main { public String solution(String s){ s = s.replace(" ", "%20"); return s; } public static void main(String[] args){ Main T = new Main(); Scanner kb = new Scanner(System.in); String str=kb.nextLine(); System.out.println(T.solution(str)); } } 피드백 - replace 메소드 대신 replaceAll 메소드를 ..

PS 2022.04.11

코딩 인터뷰 완전 분석 1.2 순열 확인

문제 이해 - 두 문자열이 순열 관계에 있는지 확인하라 해결 전략 - 두 문자열을 각각 정렬한다. - 두 문자열을 순회하면서 다른 문자가 하나라도 있으면 false를 반환한다. 아니라면 true를 반환한다. 구현 import java.util.*; public class Main { public boolean solution(String s1, String s2){ char[] s1ToChar = s1.toCharArray(); Arrays.sort(s1ToChar); String sortedS1 = new String(s1ToChar); char[] s2ToChar = s2.toCharArray(); Arrays.sort(s2ToChar); String sortedS2 = new String(s2ToC..

PS 2022.04.11

코딩 인터뷰 완전 분석 1.1. 중복이 없는가

문제 이해 - 같은 문자가 중복되어 등장하는지 확인하라 - 자료구조를 추가로 사용하지 않고 풀 수 있는 알고리즘을 고민하라 해결 전략 - 배열을 사용해서 문자를 저장해서 중복을 확인한다. - 배열을 사용하지 않으려면, 문자열을 정렬한 후 이웃하는 문자 중 같은 문자가 있는지 확인한다. -> 문자열을 정렬할 때는, 문자열을 char형 배열로 변환해서 정렬한 후, 다시 char형 배열을 문자열로 변환한다. 구현 1) 배열 사용 import java.util.*; public class Main { public boolean solution(String s){ int[] arr = new int[30]; for(int i=0; i

PS 2022.04.11

SQL 레벨업 3장 SQL의 조건 분기

8강 UNION을 사용한 쓸데없이 긴 표현 - UNION을 사용한 조건 분기는 SQL 초보자가 좋아하는 기술 중 하나입니다. 하지만 이런 방법은 성능적인 측면에서 굉장히 큰 단점을 가지고 있습니다. 외부적으로는 하나의 SQL 구문을 실행하는 것처럼 보이지만, 내부적으로는 여러 개의 SELECT 구문을 실행하는 실행 계획으로 해석되기 때문입니다. 따라서 테이블에 접근하는 횟수가 많아져서 I/O 비용이 크게 늘어납니다. -> 따라서 SQL에서 조건 분기를 할 때 UNION을 사용해도 좋을지 여부는 신중히 검토해야 합니다. 아무 생각 없이 무조건 UNION을 사용해서는 안 됩니다. 1. UNION을 사용한 조건 분기와 관련된 간단한 예제 SELECT item_name, year, price_tax_ex AS ..

DB 2022.04.11

프로그래머스 SQL 고득점 KIT(SELECT)

프로그래머스 SELECT 7문제를 한 포스팅에 정리합니다. 프로그래머스 (programmers.co.kr) 1. 모든 레코드 조회하기 - *로 모든 칼럼을 조회합니다. - ORDER BY로 ANIMAL_ID순으로 조회합니다. SELECT * FROM ANIMAL_INS ORDER BY ANIMAL_ID 2. 역순 정렬하기 - NAME, DATETIME 칼럼을 조회합니다. - ORDER BY와 DESC로 ANIMAL_ID 역순으로 조회합니다. SELECT NAME, DATETIME FROM ANIMAL_INS ORDER BY ANIMAL_ID DESC 3. 아픈 동물 찾기 - ANIMAL_ID, NAME 칼럼을 조회합니다. - WHERE INTAKE_CONDITION="Sick"으로 아픈 동물만 선택합니다..

SQL 2022.04.10