2021/06 7

[CSSU] SQL 정리

세 번째 주제 - SQL 세 번째 주제는 Mysql을 기반으로 한 SQL입니다. 사실, 기본적인 구문은 잘 알고 있지만, 이번에 어려운 JOIN 연산까지 싹 살펴보려고 선택했습니다. (이 글을 쓰기 위해서 프로그래머스의 SQL 모든 문제를 풀고 왔어요 ㅎㅎ) 1. SELECT SELECT는 정말 기본적인 문법이에요. 데이터를 보기 위해서는 SELECT가 있어야 무조건 동작하죠. 밑에 있는 쿼리문을 보면 "*"를 SELECT 했다고 나옵니다. SELECT * FROM data; "*"는 모든 컬럼을 이야기하는 것으로 data라는 테이블에서 모든 데이터가 나오겠죠. 하지만 이렇게 기본적으로 쓰진 않죠! SELECT는 거의 필연적으로 WHERE이라는 구문이 따라옵니다. data라는 테이블에 밑과 같이 데이터가..

Study/CSSU 2021.06.25

[BOJ] 10026. 적록색약

www.acmicpc.net/problem/10026 10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net 문제: 적록색약이 아닌 사람이 봤을 때의 구역의 개수와 적록색약인 사람이 봤을 때의 구역의 수를 공백으로 구분해 출력하라. 문제 이해하기!! 구역을 나누는 것을 구해야 되는 문제입니다. 문제에서 나오는 적록색약은 미끼로 그냥 두 번 "R"을 "G"로 바꾸어 한 번 더 구하면 되는 문제였습니다. 그렇다면 어떻게 구역을 나눌까요. 저는 DFS로 완전탐색을 실시하였습니다. 해당 구역들을 찾기 위해서는 각 구역..

Study/BOJ 2021.06.24

[BOJ] 16928. 뱀과 사다리 게임

www.acmicpc.net/problem/16928 16928번: 뱀과 사다리 게임 첫째 줄에 게임판에 있는 사다리의 수 N(1 ≤ N ≤ 15)과 뱀의 수 M(1 ≤ M ≤ 15)이 주어진다. 둘째 줄부터 N개의 줄에는 사다리의 정보를 의미하는 x, y (x < y)가 주어진다. x번 칸에 도착하면, y번 칸으 www.acmicpc.net 문제: 뱀과 사다리 게임에서 주사위를 최소로 굴려 1부터 100까지 가장 빠르게 도착할 수 있게 하라. 문제 이해하기!! 뱀과 사다리 게임은 예전에 많이 해봤던 추억의 놀이죠. 그래서 문제를 쉽게 이해할 수 있었던 것 같습니다. 1부터 100까지이므로 모든 경우의 수를 다 확인하면 됩니다 ㅎㅎ (완전탐색!!) 다만, 주의할 점은 뱀으로 이동하면 100번까지 더 빨라..

Study/BOJ 2021.06.23

[BOJ] 1389. 케빈 베이컨의 6단계 법칙

www.acmicpc.net/problem/1389 1389번: 케빈 베이컨의 6단계 법칙 첫째 줄에 유저의 수 N (2 ≤ N ≤ 100)과 친구 관계의 수 M (1 ≤ M ≤ 5,000)이 주어진다. 둘째 줄부터 M개의 줄에는 친구 관계가 주어진다. 친구 관계는 A와 B로 이루어져 있으며, A와 B가 친구라는 뜻 www.acmicpc.net 문제: 케빈 베이컨의 수가 최소인 사람의 번호를 출력하라. 문제 이해하기!! 케빈 베이컨이라하면 그래프의 한 노드에서 다른 노드로 최소 몇번을 걸쳐야 거기로 갈 수 있는지를 구하면 되는 문제입니다. 즉, BFS를 쓰면 되는 문제라고 볼 수 있습니다. ※ 다만, DFS를 쓰면 틀리니 주의하세요! DFS를 쓰면 틀리는 이유는 깊이와 너비 우선 방식의 노드 접근법을 생..

Study/BOJ 2021.06.23

[BOJ] 13418. 학교 탐방하기

www.acmicpc.net/problem/13418 13418번: 학교 탐방하기 입력 데이터는 표준 입력을 사용한다. 입력은 1개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 건물의 개수 N(1≤N≤1,000)과 도로의 개수 M(1≤M≤n*(n-1)/2) 이 주어진다. 입력의 두 번째 줄 www.acmicpc.net 문제: 피로도가 최악인 경로와 최적인 경로의 피로도 차이를 구하라. 문제 이해하기!! 학교의 입구부터 학교 건물을 모두 소개해주는 문제입니다. 모든 경로를 탐방해야하므로 최소 스패닝 트리 문제라고 할 수 있습니다. 그러므로 이제 제일 잘 알려진 프림 알고리즘과 크루스칼 알고리즘 중 하나를 선택하여 풀면됩니다. 음... 혹시나 둘 다 모르는 분은 다익스트라가 익숙하시면 프림으로 하시고..

Study/BOJ 2021.06.21

[BOJ] 1238. 파티

www.acmicpc.net/problem/1238 1238번: 파티 첫째 줄에 N(1 ≤ N ≤ 1,000), M(1 ≤ M ≤ 10,000), X가 공백으로 구분되어 입력된다. 두 번째 줄부터 M+1번째 줄까지 i번째 도로의 시작점, 끝점, 그리고 이 도로를 지나는데 필요한 소요시간 Ti가 들어 www.acmicpc.net 문제: 파티에 다녀오는 최단 거리(왕복)를 구하라. 문제 이해하기!! 다익스트라 문제였습니다. 하지만 다익스트라를 한 번만에 푸는 것이 아닌 단 방향 길을 양 방향으로 생각해야 되는 문제에요. 시작하는 지점이 여러 개라고 모두 생각하다가는 시간초과가 날 수 있습니다. 제가 푼 방식을 설명하자면, 1. 먼저 도착지점에서 각 마을 파티사람들의 오는 최소거리를 다익스트라로 찾습니다. 2..

Study/BOJ 2021.06.07
반응형