전체 글
-
MySQL - SELECT(3주차)DB 2023. 6. 2. 14:49
수업내용 join 문 union join 문 SELECT [테이블 컬럼 ( 필드 ) ], [테이블 컬럼 ( 필드 ) ], ... FROM [TABLE1 명] JOIN(INNER JOIN, LEFT JOIN, OUTTER JOIN ..) [TABLE2 명] ON 절(join 조건절) WHERE 절 GROUP BY 절 ... ORDER BY [테이블 컬럼 (필드)] (DESC, ASC), ... join문은 내가 조회하고자하는 내용이 2개의 테이블에 존재할 때, 사용한다. 먼저 on 절에 두개의 테이블이 어떠한 관계로 연결을 지어주어 테이블을 합칠 것인지를 정해준다. sql의 실행순서를 한번 정리해보자 sql 실행순서 from + join (어떤 테이블에서) ▶ on + where(어떤 조건을 가지고 ) ▶..
-
MySQL - SELECT(2주차)DB 2023. 6. 2. 14:35
수업내용 group by order by group by SELECT [테이블 컬럼 ( 필드 ) ], [테이블 컬럼 ( 필드 ) ], ... FROM [TABLE 명] GROUP BY [테이블 컬럼 (필드)], ... group by 를 해주면, 해당 테이블은 지정된 필드로 묶이게 된다. 그 이후에, 집계함수를 사용하게 되면, 묶인 그룹별로 집계함수가 동작을 한다. SELECT name 성씨 FROM users ; >> 결과 : name 필드만을 보여준다. SELECT name 성씨, count(name) AS `갯수` FROM users ; >> 결과 : 그룹없이 단순히 테이블 내의 모든 이름의 count를 진행 이** 은 이전의 결과에 맨 위에 있던게 단순히 나온 것. SELECT name 성씨, c..
-
MySQL - SELECT(1주차)DB 2023. 6. 1. 23:10
SELECT 문 SELECT [테이블 컬럼 ( 필드 ) ], [테이블 컬럼 ( 필드 ) ], ... FROM [TABLE 명] 내가 검색하고자하는 테이블을 조회할 때 사용이 된다. where Select 쿼리문으로 가져올 데이터에 조건을 걸어주는 것을 의미 where 절 연습 전제조건 orders TABLE에는 유저의 아이디(user_id), 결제일?(created_at), 결제 수단(payment_method) 등의 정보가 있음 "payment_method 가 'kakaopay' 다"라는 조건을 토대로 검색 SELECT * -- 보여줄 필드. * : 모든 필드 선택 조건 FROM orders -- 테이블명 WHERE payment_method = 'kakaopay'; where 절에 오는 형태는 다양하..
-
2798 - 블랙잭알고리즘 2023. 5. 30. 19:58
https://www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net 배열을 모두 돌면서 가장 큰 합이 무엇인지 확인하는 문제 3개의 숫자를 골라야 하므로 3개의 for문을 돌면서, 중복이 되지 않아야하므로, 시작과 종료조건을 조금씩 건드렸다. 모든 조건을 돌면서 가장 큰 것을 담을 수 있는 변수를 만들어 남아놨다. import java.io.BufferedReader; import java.io.IOException; import ..
-
11866 - 요세푸스 문제 0알고리즘 2023. 5. 30. 19:49
https://www.acmicpc.net/problem/11866 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net 문제요약 1 부터 주어진 숫자까지의 숫자가 나열 다음 주어진 숫자만큼 건너 뛰면서 해당 숫자를 제거하고 출력 이전에 회전하는 큐와 비슷한 문제 접근으로 할 수 있다는 것을 알았다. 왜냐면 3번째 숫자 전까지 옮겨주고, 3번째 숫자를 제거 한뒤 이를 기록하는 방식으로 접근했다면 쉬웠을 것이다. 하지만, 해당 방법은 추후에 생각해 낸 것이고 현재는 규칙을 찾아 시도했다. 1 2 3 4 5 6 7 이라고 가정하면, 1. 오른쪽으로 계속 진행하는 경우, 이경우는 제거 인덱스를 지속적으로 ..
-
11279 - 최대 힙알고리즘 2023. 5. 30. 19:35
https://www.acmicpc.net/problem/11279 11279번: 최대 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 문제요약 가장 큰수를 계속해서 지우거나, 비어있을 경우 0을 출력하는 문제 내가 가지고 있는 데이터가 계속해서 정렬시켜야하는 문제이다. 그리고 제거도 해야하므로, PriorityQueue를 역순으로 적용하는 작업을 했다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamR..
-
4949 - 균형잡힌 세상알고리즘 2023. 5. 30. 19:29
https://www.acmicpc.net/problem/4949 4949번: 균형잡힌 세상 각 문자열은 마지막 글자를 제외하고 영문 알파벳, 공백, 소괄호("( )"), 대괄호("[ ]")로 이루어져 있으며, 온점(".")으로 끝나고, 길이는 100글자보다 작거나 같다. 입력의 종료조건으로 맨 마지막에 www.acmicpc.net 문제요약 [ ] ,( ) 대로 괄호 쌍이 맞아야 하는 문제 이전에 풀었던 문제와 비슷 stack에 쌓으면서 괄호쌍이 맞으면 제거하는 식으로 진행하였다. 만일 괄호쌍이 전부 제거된 상태에서 닫는 괄호( ) , ] )가 나온다면 바로 멈추는 작업을 추가했다. import java.io.BufferedReader; import java.io.IOException; import ja..
-
9012 - 괄호알고리즘 2023. 5. 26. 21:18
https://www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 문제요약 문장 내의 () [] 괄호 쌍이 올바르게 되어 있는지 확인하는 문제 마침표( . )이 첫 문자열로 들어오면 종료 해당문제는 괄호 쌍이 맞는 지를 확인하는 문제였다. 괄호쌍이 맞는다는 것은 - 여는 괄호 -> 닫는 괄호 쌍을 찾는 것 이 핵심이므로, stack에 두 개의 쌍이 나오면 pop()을 하여 제거하였고, 결과적으로 stack이 비어있는지를 체크하는 방..