본문 바로가기

전체 글

(61)
[SQL] 레코드 삭제, 수정하기 (DELETE, UPDATE, TRUNCATE) DELETE DELETE 문은 테이블에 삽입되어있는 레코드 (행)을 삭제할때 사용되는 구문이다. DELETE FROM 테이블 WHERE 조건; DELETE문의 경우는 WHERE 뒤에 오는 조건에 해당하는 모든 레코드들을 삭제해버리기 때문에 조건문의 설계가 그만큼 중요하고, 그냥 대충 적고 쿼리 날리면 난리나는 경우가 생길 수도 있다. CREATE TABLE CUSTOMER( ID INT NOT NULL, NAME VARCHAR(20) NOT NULL, AGE INT ); 위와 같은 테이블이 있고 여기에 몇개의 레코드가 삽입되어있다고 가정해본다. 그 중에 AGE가 50이 넘는 레코드들은 모두 삭제해보도록 한다. DELETE FROM CUSTOMER WHERE AGE>50; 위 처럼 작성하게 되면 CUSTO..
[SQL] 레코드, 로우 삽입 (INSERT INTO) INSERT 테이블에 행을 추가하는 구문이다. 레코드를 추가한다고도 표현하기도 한다. INSERT INTO 테이블 (필드 목록) VALUES (값 목록); 위와 같은 구조로 만들어져 있다. INSERT INTO 뒤에 삽입하고 싶은 테이블명을 작성한다. 그리고 (필드 목록) 안에다가 내가 하나의 레코드를 삽입하는데, 이때 대입할 값들의 컬럼명(필드명)들을 쭉 나열해주면 된다. 그리고 VALUES 뒤에 (값 목록)에다가 앞에서 적은 필드 목록 순서대로 값들을 적어주면 된다. 이때 필수로 앞에서 적은 필드 목록의 순서와 개수에 맞춰서 적어주어야 한다. CREATE TABLE CUSTOMER( ID INT NOT NULL, NAME VARCHAR(20) NOT NULL, AGE INT ); 위와 같은 테이블을 ..
[SQL] 테이블 생성, 삭제하기 (CREATE TABLE, DROP TABLE) SQL (Structed Query Language) SQL은 관계형 데이터베이스 관리 시스템(RDBMS)의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어이다. 기본적으로 RDBMS에서 데이터 검색과 관리, 데이터베이스 스키마 생성과 수정, 데이터베이스 객체 접근 조정 관리를 위해 만들어졌다. CREATE TABLE SQL에서 CREATE 문은 데이터 정의 언어(DDL)에 속한다. CREATE TABLE 테이블명 ( 컬럼명 데이터타입 조건, 컬럼명 데이터타입 조건, 컬럼명 데이터타입 조건 ); 위와 같은 구조를 따라가게 된다. CREATE TABLE CUSTOMER( ID INT NOT NULL, NAME VARCHAR(20) NOT NULL, AGE INT ); 예시로 CUSTOMER라는 ..
[Numpy] numpy.random.randint 설명 numpy.random.randint Return random integers from the “discrete uniform” distribution of the specified dtype in the “half-open” interval [low, high). If high is None (the default), then results are from [0, low). 즉 'discrete uniform (이산균등분포)'로써 랜덤한 정수를 반환해주는 함수이다. 이산균등분포란 확률 함슈가 정의된 모든 곳에서 그 값이 일정한 분포를 나타낸다는 것이다. 대표적인 예로 주사위를 들 수 있다. 주사위는 1, 2, 3, 4, 5, 6의 값을 갖고, 주사위를 굴렸을때 각각의 값이 나올 확률은 1/6 이다. i..
[알고리즘] Binary Search Binary Search 이진 탐색 알고리즘을 말 그대로 탐색 알고리즘이다. 하지만 단순하게 처음부터 마지막까지 순서대로 비교하면서 탐색하는 방법이 아닌, 탐색 범위를 좁혀가며 데이터를 찾아내는 방식이다. 이진 탐색 알고리즘을 적용하기 위한 조건으로 배열 혹은 리스트에 있는 데이터들은 정렬이 되어있어야 한다. 그리고 찾으려는 데이터와 중간점에 위치한 데이터를 반복적으로 비교하면서 원하는 데이터를 찾게 된다. 이진 탐색 알고리즘은 재귀호출을 이용하여 구현할 수도 있고, 반복문을 이용해서 구현할 수도 있다. Example Code def binary_search(source, target, start, end): if start > end: return None mid = (start + end) // 2 ..
[문제풀이] 백준 1932번 정수 삼각형 1932번: 정수 삼각형 첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다. www.acmicpc.net 문제풀이 n = int(input()) t = [] for i in range(n): t.append(list(map(int, input().split()))) k = 2 for i in range(1, n): for j in range(k): if j == 0: t[i][j] = t[i][j] + t[i-1][j] elif i == j: t[i][j] = t[i][j] + t[i-1][j-1] else: t[i][j] = max(t[i-1][j-1], t[i - 1][j]) + t[i][j] k += 1 print(max(t[n-1..
[문제풀이] 백준 2579번 계단 오르기 2579번: 계단 오르기 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점 www.acmicpc.net 문제풀이 N = int(input()) score = [0] * 300 dp_table = [0] * 300 for i in range(N): score[i] = int(input()) dp_table[0] = score[0] dp_table[1] = max(score[0] + score[1], score[1]) dp_table[2] = max(score[0] + score[2], score[1] + score[2]) for i in range(3, N): dp_table[..
[문제풀이] 백준 1463번 1로 만들기 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 문제풀이 N = int(input()) dp_table = [0] * (N+1) for i in range(2, N+1): dp_table[i] = dp_table[i-1] + 1 if i % 3 == 0: dp_table[i] = min(dp_table[i], dp_table[i//3] + 1) if i % 2 == 0: dp_table[i] = min(dp_table[i], dp_table[i//2] + 1) print(dp_table[N])