프로그래밍 57

[MySQL] SQL ZOO BBC QUIZ 답 해설

1. LIKE 'XX%' 사용 LIKE 'U%'는 U로 시작하는 문자열 2. WHERE절 기본 그냥 쓰면 된다..! 3. 칼럼명과 데이터명 규칙 칼럼명에 작은따옴표를 붙이지 않는다. 4. SELECT문 나누기, WHERE절 비교문 그냥 하면 된다..! 5. IN 사용 하나라도 존재하면 참 6. IN 사용 이전 문제랑 같다. 7. WHERE절 AND로 조건 두개 AND로 조건을 두개 만족시키는 데이터를 찾을 수 있다.

[MySQL] SQL ZOO SELECT Quiz 답 해설

1. BETWEEN 사용 BETWEEN 0 AND 5 -> 0, 1, 2, 3, 4, 5 시작과 끝을 포함한 숫자 범위 2. LIKE XX% 사용 LIKE 'Al%' -> Al로 시작하는 문자열 3. LIKE %XX 사용 LIKE '%a' -> a로 끝나는 문자열 4. LENGTH 사용 LENGTH(name) -> name의 문자열 길이 5. SELECT 절에서 곱연산 사용 그냥 하면 된다..! 6. WHERE절 AND연산 그냥 하면 된다..! 7. IN 사용 하나라도 존재하면 참이다.

[MySQL] SQL ZOO window functions 답 해설

Window functions - SQLZOO General Elections were held in the UK in 2015 and 2017. Every citizen votes in a constituency. The candidate who gains the most votes becomes MP for that constituency. All these results are recorded in a table ge yrfirstNamelastNameconstituencypartyvotes20 sqlzoo.net 표가 있어서 이해가 잘 됐다. 전에 NSS문제는 표가 없어서 힘들었따... 정리는 내일 할거다. 게임 한판, 넷플릭스 유튜브 보다 자야징~~~ #1 Warming up WHERE절 AND..

[MySQL] SQL ZOO Self join 답 해설

Self join - SQLZOO Edinburgh Buses Details of the database Looking at the data stops(id, name) route(num, company, pos, stop) stops id name route num company pos stop How many stops are in the database. SELECT COUNT(*) FROM stops Find the id value for the stop 'Craiglockhart sqlzoo.net 문제 정보가 안써져있어서 내가 써봤다. #1 워밍업 stops의 모든 칼럼을 표시 SELECT COUNT(*) FROM stops #2 워밍업 'Craiglockhart'인 데이터의 id값을 표시 S..

[Python] 백준 2623 음악프로그램

2623번: 음악프로그램 첫째 줄에는 가수의 수 N과 보조 PD의 수 M이 주어진다. 가수는 번호 1, 2,…,N 으로 표시한다. 둘째 줄부터 각 보조 PD가 정한 순서들이 한 줄에 하나씩 나온다. 각 줄의 맨 앞에는 보조 PD가 담당한 www.acmicpc.net 위상정렬 : 위상정렬의 핵심은 그래프와 진입차수 같다. 여기 입력이 꼬여버리면 복잡해진다. 마지막에 주의할 점은 가수 순서를 못만들때를 고려해 주어야 한다. result의 길이로 판별을 했다. 전체코드 import sys import collections input = sys.stdin.readline N, M = map(int, input().split()) inDegree = [0 for _ in range(N + 1)] graph = c..

[Python] 백준 2056 작업

2056번: 작업 수행해야 할 작업 N개 (3 ≤ N ≤ 10000)가 있다. 각각의 작업마다 걸리는 시간(1 ≤ 시간 ≤ 100)이 정수로 주어진다. 몇몇 작업들 사이에는 선행 관계라는 게 있어서, 어떤 작업을 수행하기 위해 www.acmicpc.net 위상정렬 마스터를 해야지 이런 느낌으로 위상정렬 문제만 풀고있다. 전체적으로는 비슷한 문제여서 백준 티어 경험치작을 하고싶다면 위상정렬 문제를 푸는게 어떨까 추천한다. 어차피 티어는 자기만족이니깐.. 위상정렬 : DP를 사용해서 작업시간을 업데이트 시켜준다. 주의할 점은 작업이 가장 오래걸린 것을 출력해야한다. 1로 출발해서 N으로 끝나는 작업이 예시로 들어왔지만, 그렇지 않은 경우도 있기 때문에 max값을 출력해주면 된다. 전체코드 import sys..

[Python] 백준 1766 문제집

1766번: 문제집 첫째 줄에 문제의 수 N(1 ≤ N ≤ 32,000)과 먼저 푸는 것이 좋은 문제에 대한 정보의 개수 M(1 ≤ M ≤ 100,000)이 주어진다. 둘째 줄부터 M개의 줄에 걸쳐 두 정수의 순서쌍 A,B가 빈칸을 사이에 두고 주 www.acmicpc.net 위상정렬 : 위상정렬에 우선순위 큐를 사용해야 한다. 파이썬은 힙큐가 있기 때문에 너무 쉽다. 하지만 좀 막막할 수가 있다. 힙큐 쓰는 것을 솔직히 알고리즘 분류 클릭해보고 나서 알았다. 전체코드 import sys import heapq import collections input = sys.stdin.readline N, M = map(int, input().split()) inDegree = [0 for _ in range(N..

[Python] 백준 1516 게임 개발

1516번: 게임 개발 첫째 줄에 건물의 종류 수 N(1 ≤ N ≤ 500)이 주어진다. 다음 N개의 줄에는 각 건물을 짓는데 걸리는 시간과 그 건물을 짓기 위해 먼저 지어져야 하는 건물들의 번호가 주어진다. 건물의 번호는 1부 www.acmicpc.net 위상정렬 : 위상정렬 문제를 두번째 푸는 건데 느낌이 비슷한 것 같다. inDegree에 진입차수를 집어넣는게 핵심이다. 진입차수가 0이면 큐에 집어넣고 돌려준다. DP값에는 조건에 맞게 값을 넣어주면 된다. 전체코드 import sys import collections input = sys.stdin.readline N = int(input()) times = [0 for _ in range(N + 1)] dp = [0 for _ in range(N..

[MySQL] SQL ZOO Numeric Examples 답 해설

NSS Tutorial - SQLZOO FieldType ukprnvarchar(8) institutionvarchar(100) subjectvarchar(60) levelvarchar(50) questionvarchar(10) A_STRONGLY_DISAGREEint(11) A_DISAGREEint(11) A_NEUTRALint(11) A_AGREEint(11) A_STRONGLY_AGREEint(11) A_NAint(11) CI_MINint(11) scoreint(11) CI_MAXint( sqlzoo.net NSS 라는 National Student Survey 라는 통계를 활용한 문제인데, 솔직히 데이터가 어떻게 담겨있는지 잘 안알려줘서 풀기가 힘들다. 좀 불친절한 것 같다. 전에 문제들은 정말 ..

[Python] 백준 2011 암호코드

2011번: 암호코드 나올 수 있는 해석의 가짓수를 구하시오. 정답이 매우 클 수 있으므로, 1000000으로 나눈 나머지를 출력한다. 암호가 잘못되어 암호를 해석할 수 없는 경우에는 0을 출력한다. www.acmicpc.net 다이나믹 프로그래밍 : 한번에 이해하기 어려웠다. 왜 i - 2인덱스에 접근해야 할까. 특정한 상황이 아니면 DP[i] = DP[i - 1] 이다. 하지만 뒤에 수를 가져다 붙여서 두자리 수 and 26이하의 수를 만들 수 있다면 DP[i - 2]를 추가해주어야 한다. i - 2에 접근하는 이유는 갖다 붙일 수 있는 상태의 수이기 때문이다. DP[3] (2, 5, 1), (25, 1) DP[4] (2, 5, 1, 1), (25, 1, 1), (2, 5, 11), (25, 11) ..