기록을 남기자

분류 전체보기 186

카테고리 설명
  • 문제 https://www.acmicpc.net/problem/1912 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net n개의 정수로 이루어진 임의의 수열이 주어진다. 우리는 이 중 연속된 몇 개의 수를 선택해서 구할 수 있는 합 중 가장 큰 합을 구하려고 한다. 단, 수는 한 개 이상 선택해야 한다. 예를 들어서 10, -4, 3, 1, 5, 6, -35, 12, 21, -1 이라는 수열이 주어졌다고 하자. 여기서 정답은 12+21인 33이 정답이 된다. 입력 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지..

  • 문제 https://www.acmicpc.net/problem/1904 1904번: 01타일 지원이에게 2진 수열을 가르쳐 주기 위해, 지원이 아버지는 그에게 타일들을 선물해주셨다. 그리고 이 각각의 타일들은 0 또는 1이 쓰여 있는 낱장의 타일들이다. 어느 날 짓궂은 동주가 지원이 www.acmicpc.net 지원이에게 2진 수열을 가르쳐 주기 위해, 지원이 아버지는 그에게 타일들을 선물해주셨다. 그리고 이 각각의 타일들은 0 또는 1이 쓰여 있는 낱장의 타일들이다. 어느 날 짓궂은 동주가 지원이의 공부를 방해하기 위해 0이 쓰여진 낱장의 타일들을 붙여서 한 쌍으로 이루어진 00 타일들을 만들었다. 결국 현재 1 하나만으로 이루어진 타일 또는 0타일을 두 개 붙인 한 쌍의 00타일들만이 남게 되었다. ..

  • 문제 https://www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 스택 (stack)은 기본적인 자료구조 중 하나로, 컴퓨터 프로그램을 작성할 때 자주 이용되는 개념이다. 스택은 자료를 넣는 (push) 입구와 자료를 뽑는 (pop) 입구가 같아 제일 나중에 들어간 자료가 제일 먼저 나오는 (LIFO, Last in First out) 특성을 가지고 있다. 1부터 n까지의 수..

  • 1. union / union all 두 집합을 중복을 제거하고 합집합 형태로 조회, union all은 중복제거 x select A.* from (select column1 , column2 from A_table union select column3 , column4 from B_table) A; 2. || , concat 문자열 합치기 select 'My name is ' || name; from name_table; --Tom Holland-- select concat('Hi ', name, ' is my name'); from name_table; --Hi Tom Holland is my name-- 3. substring 문자열 자르기 substring(문자열, 시작점, 시작점부터 개수) se..

  • CASECASE 특정 조건이 충족되었을 때 SQL코드를 실행하기 위해 CASE를 사용한다. 프로그래밍 언어에서 흔히 쓰이는 IF/ELSE 문과 비슷하다. 일반적인 CASE문과 CASE 표현식으로 쓸 수 있다. 두 방법 모두 결과는 같다. -- 기본 문법 CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ELSE some_other_result END SELECT a, CASE WHEN a = 1 THEN 'one' WHEN a = 2 THEN 'two' ELSE 'other' AS label END FROM test; -- CASE 표현식 CASE expression WHEN value1 THEN result1 WHEN value2 THEN ..

  • CREATE 테이블을 생성하는 명령어 -- 기본 문법 CREATE TABLE table_name( column_name TYPE column_constraint, column_name TYPE column_constraint, table_constraint table_cnostraint ) INHERITS existing_table_name; -- 더 단순한 문법 CREATE TABLE table_name( column_name TYPE column_constraint, column_name TYPE column_constraint, ); -- 예시: players 테이블 생성, player_id 컬럼은 serial pk CREATE TABLE players( player_id SERIAL PRIMARY..

  • AS AS문은 열이나 결과에 별칭(alias)을 부여한다. SELECT column AS new_name FROM table SELECT SUM(column) AS new_name FROM table → 컬럼명이 new_name으로 출력된다 AS연산자는 쿼리의 맨 마지막에 실행되기 때문에 WHERE, GROUP BY 호출, HAVING절 등에서는 쓸 수 없다. 정상 쿼리 SELECT customer_id, sum(amount) as total_spent from payment group by customer_id having sum(amount) > 100 실행되지 않는 쿼리, 컬럼이 없다고 뜨면서 실행되지 않는다. AS는 맨 마지막에 실행되기 때문에 alias된 컬럼명을 인식하지 못한다. SELECT ..

  • SQL 분류 SQL문은 DDL, DML, DCL(TCL)로 분류한다. DDL(Data Definition Language, 데이터 정의어) 데이터베이스를 정의하는 언어이며, 데이터리를 생성, 수정, 삭제하는 등의 데이터의 전체의 골격을 결정하는 역할을 하는 언어 이다. 데이터베이스, 테이블등을 생성하는 역할을 한다. CREATE, ALTER, DROP, TRUNCATE 등이 있다. DML (Data Manipulation Language, 데이터 조작어) 데이터베이스 사용자가 응용 프로그램이나 질의어를 통하여 저장된 데이터를 실질적으로 처리하는데 사용하는 언어 이다. 데이터베이스 사용자와 데이터베이스 관리 시스템 간의 인터페이스를 제공한다. SELECT, INSERT, UPDATE, DELETE 등이 있..