목록분류 전체보기 (370)
나만의 작은 도서관
유의사항: 해당 글은 MySQL 문법을 기반으로 작성된 글입니다. 다른 SQL과 다른 부분이 있을 수 있습니다. 개요데이터 각각의 정보가 아닌, 총 합, 평균, 개수 등 그룹에 대한 정보를 얻고 싶을 때가 있다. 이때 사용하는 함수를 집계함수라고 부르며 GROUP BY절과 함께 사용한다. 또한, 특정 컬럼을 기준으로 정렬하는 ORDER BY를 알아보자.그룹화하기(GROUP BY절)그룹화하고자 하는 컬럼을 GROUP BY절에 적는다.그룹화를 하게되면 해당 컬럼의 데이터 값이 같은 행들이 하나의 행으로 묶인다. (아래 예시: 컬럼 1을 기준으로 그룹화)SELECT *FROM 테이블GROUP BY 컬럼1 만약 하나가 아닌 여러 컬럼들을 기준으로 그룹화하고 싶다면 GROUP BY절에 컬럼을 추가한다. (아래 예..
유의사항: 해당 글은 MySQL 문법을 기반으로 작성된 글입니다. 다른 SQL과 다른 부분이 있을 수 있습니다. 개요 쿼리(Query)는 '질의'라는 뜻을 가진 단어이며, DB에서는 "DB에 데이터를 요청을 하는 질의"를 의미한다. 일반적으로 쿼리는 SQL을 이용하여 작성하는데 SQL에서 SELECT절로 시작하는 문장을 쿼리라 부른다. 그럼 쿼리를 어떻게 사용하는지 간단히 알아보자. 데이터 검색하기(SELECT절) 가장 기본적인 구조이다. "테이블"이라는 이름의 테이블에서 모든 컬럼(*은 모든 컬럼을 의미)을 가져오는 방법이다. SELECT * FROM 테이블 만약, 모든 컬럼이 아닌 필요한 컬럼만 가져오고 싶을 때는 * 대신 필요한 컬럼의 이름을 적는다. SELECT 컬럼1, 컬럼2, .... FROM..
문제 링크https://www.acmicpc.net/problem/11967 11967번: 불켜기(1, 1)방에 있는 스위치로 (1, 2)방과 (1, 3)방의 불을 켤 수 있다. 그리고 (1, 3)으로 걸어가서 (2, 1)방의 불을 켤 수 있다. (2, 1)방에서는 다시 (2, 2)방의 불을 켤 수 있다. (2, 3)방은 어두워서 갈 수 없으www.acmicpc.net 난이도 : 골드 2 문제 요약 설명N X N개의 방이 있는 정사각형 모양의 헛간이 있다. 헛간에 있는 각 방은 (1, 1)부터 (N, N)까지 번호가 매겨져있다. 어둠을 무서워하는 암소 베시는 최대한 많은 방에 불을 밝히고 싶어한다.베시는 유일하게 불이 켜져있는 방인 (1, 1)방에서 출발한다. 어떤 방에는 다른 방의 불을 끄고 켤 수 ..
문제 링크 https://www.acmicpc.net/problem/16920 16920번: 확장 게임 구사과와 친구들이 확장 게임을 하려고 한다. 이 게임은 크기가 N×M인 격자판 위에서 진행되며, 각 칸은 비어있거나 막혀있다. 각 플레이어는 하나 이상의 성을 가지고 있고, 이 성도 격자판 위 www.acmicpc.net 난이도: 골드 2 문제 요약 설명 플레이어들이 N X M인 격자판 위에서 확장게임을 한다. 확장게임이란 각 플레이어가 순서대로 본인의 모든 성들에서 Si번 상하좌우로 이동하여 이동한 칸에 성을 추가로 짓는 게임이다. 확장게임은 모든 플레이어가 더 이상 확장을 할 수 없을 때 게임이 끝난다. 격자판이 주어졌을 때, 확장게임이 끝나고 각 플레이어가 가진 성들의 개수를 출력하는 프로그램을 ..

이진 탐색이란?이진 탐색은 정렬된 일련의 값들에서 찾고자 하는 값을 중앙값과 비교한 다음, 비교 결과에 따라 탐색 범위를 중앙값 왼쪽 범위 또는 오른쪽 범위로 줄이며 값을 찾아가는 방식을 의미한다. 매 반복마다 탐색 범위가 절반씩 줄어들기 때문에 시간복잡도는 O(logN)으로 속도가 매우 빠르다는 장점이 있지만 정렬되어 있어야한다는 제약조건이 있다. 동작방식이진 탐색을 구현하는 방법은 구현한 사람의 스타일에 따라 조금씩 달라진다. 아래의 동작방식은 내가 사용하기 편한 방법을 토대로 설명한 방식이다.(설명은 오름차순으로 정렬된 배열을 기준으로 한다.) 1. 초기화시작은 위 그림같이 start는 배열의 첫번째 위치, end는 배열의 마지막 위치 + 1로 초기화한다. 2. 범위 나누기초기화 이후 탐색을 시..
입력으로 주어지는 한자리 숫자들이 붙어있어 하나의 숫자로 인식되는 경우나, 숫자로 된 문자열을 계산해야 하는 경우처럼 문자열을 숫자로, 숫자를 문자열로 변환(casting) 해야하는 상황이 종종 발생한다. 이럴 때 유용하게 사용할 수 있는 함수가 stoi(), to_string()이다. stoi() // stoi(바꾸고자 하는 문자열) inline int stoi(const string& __str, size_t* __idx = 0, int __base = 10) { return __gnu_cxx::__stoa(&std::strtol, "stoi", __str.c_str(), __idx, __base); } String TO Integer의 약자로, 바꾸고자 하는 문자열을 int 자료형으로 변환한다. 해..