seaking110 님의 블로그
사전 캠프 6일차 본문
엑셀보다 쉽고 빠른 SQL 강의 3주차
- concat() 으로 원하는 부분들을 묶어서 출력 가능하다.
concat('[', substring(addr, 1, 2), '] ', restaurant_name, ' (', cuisine_type, ')') "바뀐이름",
- if(조건, 조건을 충족할 때, 조건을 충족하지 못할 때)
if(type="korean", "한국","기타")
- case : 각 조건 별로 여러가지를 지정하고 싶을 때
case when 조건1 then 값(수식)1
when 조건2 then 값(수식)2
else 값(수식)3
end
- as char : 문자로 변경
- as decimal : 숫자로 변경
알고리즘 공부
브루트 포스 (Brute Force)
모든 경우의 수를 탐색하면서 요구 조건에 충족되는 결과를 가져오는 알고리즘
- 가장 큰 특징은 모든 영역을 전체 탐색을 한다는 점!
- 선형 구조
- 순차 탐색
- 비선형 구조
- 깊이 우선 탐색 (DFS)
- 너비 우선 탐색 (BFS)
- 백트래킹
장점 : 어떤 문제든 브루트 포스 알고리즘으로는 무조건 풀린다!
단점 : 자원의 사용이 매우 매우 비효율적이다, 시간 복잡도가 어마어마하다.
따라서 브루트 포스는 입력 범위가 좁을 때만 사용해야 한다!
순차 탐색 문제 예시
백준 2798번 블랙잭
https://www.acmicpc.net/problem/2798
백준 4673 번 셀프 넘버
https://www.acmicpc.net/problem/4673
백준 1065번 한수
https://www.acmicpc.net/problem/1065
백준 1018번 체스판 다시 칠하기
https://www.acmicpc.net/problem/1018
대부분 100~10만 사이의 입력 값으로 입력값이 적을 때는 순차 탐색을 사용하는 것이 간단하고 쉽다
DFS 와 BFS는 중요하기 때문에 내일 이어서 적고 문제를 풀려고한다!