분류 전체보기 (133) 썸네일형 리스트형 Atcoder Begginer Contest 201 F가 꽤 어려운 라운드였던 거 같다. 그리고 D나 E는 꽤 전형적인 문제인데 모르면 처음에 떠올리기 어려운 문제들이다. 이해가 안되거나 설명이 부족하다 싶거나 잘못된 내용은 댓글로 말해주시면 감사하겠습니다. A - Tiny Arithmetic Sequence 만약에 세 숫자가 등차수열을 이룬다면 정렬했을 때 그 순서대로 공차가 같을 것이다. 이걸로 해결할 수 있다. #include using namespace std; int main() { vector v(3); for (int i = 0; i > v[i]; sort(v.begin(), v.end()); if (v[1] - v[0] == v[2] - v[1]) cout v[i].second >> v[i].first; sort(.. SQL 쿼리 연습문제 2 6. OLD IS NOT GOLD 문제 : Which decades saw the most number of official releases? List the number of official releases in every decade since 1900. Like 1970s|57210. Print all decades and the number of official releases. Releases with different issue dates or countries are considered different releases. Print the relevant decade in a fancier format by constructing a string that looks like this: 197.. 백준 15339번 Counting Cycles 문제 요약 정점이 $N$개 있고 간선이 $M$개인 연결그래프가 주어진다. 이 때, 단순 사이클의 갯수를 구해야 한다. $ 3 \le N \le 100000$, $ N-1 \le M \le N+15$ 풀이 제한이 10만이었구나 왜 20만으로 착각했을까 일단 간선의 제한이 매우 수상하다. $N+15$라는 저 어정쩡한 제한을 보라. 일단 간선이 $N-1$일 때는 트리다. 사이클이 존재하지 않는 그래프고, $N$개일 때는 당연히 사이클은 하나다. 트리에서 간선이 하나 추가될 때 마다 사이클이 생겨난다. 즉, 이렇게 해서 생길 수 있는 사이클은 최대 16개다. 여기서 중요한 사실이 있는데 생길 수 있는 사이클은 사이클끼리 겹치게 해서 홀수번만 겹쳐진 간선들을 사용하는 사이클 외에는 존재 할 수 없다. 는 강한 추.. SQL 쿼리 연습문제 SQL을 연습해보기 위해서 연습용 DB와 연습문제 10개를 풀어봅니다. sqlite3을 이용하며 사용한 연습문제와 연습용 DB는 전부 이 링크에서 가지고 왔습니다. CMU의 Intro to Database 수업의 과제로 나온 것입니다. DB 스키마를 그림으로 나타낸 것은 아래와 같습니다. 해당 스키마에 대한 설명은 링크로 가시면 좀 더 자세하게 알아볼 수 있습니다. 1. SAMPLE 문제 : List all types of work ordered by type ascendingly. work라는 것의 type을 type의 오름차순으로 출력해야 합니다. 위 스키마를 보면 work_type이라는 테이블? 릴레이션?이 있는데 name을 attribute로 가지고 있습니다. 이 name을 기준으로 오름차순으로 .. 기본 SQL 연산들과 Relational Algebra 관계형 DB를 조작하는 SQL은 관계 대수(Relational Algebra)를 기초로 만들어져 있다. 물론 SQL은 Relation 내에 중복을 허용하는 bag 기반이라 조금은 다르지만 큰 틀은 비슷해서 관계 대수의 기본 연산들과 SQL의 기본 연산들을 정리하고 비교해보려고 한다. 관계 대수에서 사용되는 기호랑 연산 이름을 쓰고 뭔지 적고 SQL에서 어떤 절과 비슷한지 적으려고 한다. 기본적으로 관계 대수의 연산들은 릴레이션(relation)을 대상으로 하며 그 결과 또한 릴레이션이 된다. $\sigma_p(R)$ : Select (WHERE in SQL) 관계 대수에서 select란 연산을 위 기호로 쓴다. 어떤 릴레이션 d$R$에서 조건 $P$에 맞는 릴레이션들을 걸러내는 역할을 한다. SQL에서 .. Atcoder Beginner Contest 200 풀이 A, B, C는 정말 쉬운 편이고 D, E, F는 평균적인 라운드보다 좀 어렵게 뽑힌 거 같다. A - Century $x$가 주어지면 $ceil(x/100)$을 출력하면 된다. #include using namespace std; int main() { int x; cin >> x; cout N >> K; while(K--) { if(N%200 == 0) N /= 200; else N = N*1000 + 200; } cout N; long long ans = 0; for(int i=0;i> x; ans += cnt[x%200]; cnt[x%200]++; } cout N; for(int i=1;i> orig[i]; a[i] = orig[i] % 200; } ans[1][a[1]].push_back(1);.. 백준 18214번 Reordering the Documents 문제 요약 크기가 $N$인 문서 더미가 주어진다. 각 문서에는 $1$부터 $N$까지 수가 부여되어 있다. 문서 더미는 스택과 같은데 놓여있는 문서들의 순서는 뒤죽박죽이다. 이 때, 이 문서들을 다른 두 개의 임시 문서 더미로 옮긴 뒤에 정리하는 방식으로 문서 더미의 위에서부터 $1$부터 $N$까지로 차례대로 놓여있는 문서 더미를 만들려고 한다. 임시 문서 더미들은 최대 $M$의 높이를 가질 수 있다. 이 때, 서로 다른 두 개의 임시 문서 더미에 문서들을 놓는 경우의 수를 구하여라 . $ 1 \le N \le 5000$, $ N/2 \le M \le N$ 문제 요약이 잘 안된다. 링크 풀이 일단 처음의 문서 더미의 위에서부터 아래로 내려가는 순으로 문서들의 번호가 주어진다. 그리고 서로 다른 두 개의 스.. Atcoder Beginner Contest 189 풀이 F를 푼사람이 244명으로 F가 꽤 어려웠던 라운드같다. 아마 나도 문제에 쓰인 아이디어를 이 문제서 처음 봤다면 감도 안 왔을거 같다. E가 좀 수학적인 성향이 강한 느낌이다. 라운드 링크 A - Slot 정말 기본적인 문제. 길이 3인 문자열을 입력받고 세 글자가 전부 같은지 확인하자. 출력문이 Won, Lost로 좀 특이하니 주의 #include using namespace std; string s; int main() { cin >> s; if(s[0] == s[1] && s[1] == s[2]) cout X; X *= 100; int taken = 0; for (int i = 0; i > v >> p; int a = v * p; taken += a.. 이전 1 2 3 4 5 6 7 ··· 17 다음