All

Problem Solving/프로그래머스

[SQL고득점Kit] 프로그래머스 GROUP BY, IS NULL

📂 GROUP BY group by는 having이랑 짝꿍이다. group by ( attribute ) 로 원하는 attribute 값들끼리 그룹화된다. 각 그룹 내에서 조건문으로 필터링을 하고 싶다면 having을 사용하는 방식이다. 1. 고양이와 개는 몇 마리 있을까 - COUNT, GROUP BY 동물 보호소에 들어온 동물 중 고양이와 개가 각각 몇 마리인지 조회하는 SQL문을 작성해주세요. 이때 고양이를 개보다 먼저 조회해주세요. SELECT ANIMAL_TYPE, COUNT(*) as count FROM ANIMAL_INS GROUP BY ANIMAL_TYPE ORDER BY ANIMAL_TYPE ASC; 2. 동명 동물 수 찾기 - GROUP BY & HAVING 동물 보호소에 들어온 동물 ..

Problem Solving/프로그래머스

[SQL고득점Kit] 프로그래머스 SUM, MAX, MIN문

1. 최댓값 구하기 - MAX 가장 최근에 들어온 동물은 언제 들어왔는지 조회하는 SQL 문을 작성해주세요. 두 가지 방법으로 작성했다. MAX를 사용하면 날짜 중에 가장 큰 값(최근 값)을 출력한다. 또는 DATETIME을 내림차순하여 그 중 첫번째것만 LIMIT 1 을 걸어 출력할 수 있다. #1 SELECT DATETIME FROM ANIMAL_INS ORDER BY DATETIME DESC LIMIT 1; #2 SELECT MAX(DATETIME) FROM ANIMAL_INS; 2. 최솟값 구하기 - MIN 동물 보호소에 가장 먼저 들어온 동물은 언제 들어왔는지 조회하는 SQL 문을 작성해주세요. SELECT MIN(DATETIME) FROM ANIMAL_INS; 3. 동물 수 구하기 - COUN..

Problem Solving/프로그래머스

[SQL고득점Kit] 프로그래머스 SELECT문

/* 모두 MySQL 방식으로 작성함 */ 1. 모든 레코드 조회하기 동물 보호소에 들어온 모든 동물의 정보를 ANIMAL_ID순으로 조회하는 SQL문을 작성해주세요. SELECT * FROM ANIMAL_INS ORDER BY ANIMAL_ID; 2. 역순 정렬하기 동물 보호소에 들어온 모든 동물의 이름과 보호 시작일을 조회하는 SQL문을 작성해주세요. 이때 결과는 ANIMAL_ID 역순으로 보여주세요. SELECT NAME, DATETIME FROM ANIMAL_INS ORDER BY ANIMAL_ID DESC; 3. 아픈 동물 찾기 동물 보호소에 들어온 동물 중 아픈 동물(sick)의 아이디와 이름을 조회하는 SQL 문을 작성해주세요. 이때 결과는 아이디 순으로 조회해주세요. SELECT ANIMA..

Problem Solving/Algorithm, DS

[알고리즘] 분할상각기법 Amoritized Analysis

📂 분할상각기법 어떠한 임의의 알고리즘에 대해서, 어떤 연산은 자원적 측면에서 상당한 비용을 소모할 수 있지만, 반면 다른 연산은 그렇게 고비용을 소모하지 않을 수 있다. 분할상환 분석은 알고리즘의 전반적인 연산 집합에 대해 비용이 높은 연산, 그리고 비용이 덜한 연산 모두를 함께 고려하는 기법이라 하겠다. 이것은 다른 종류의 입력, 입력의 길이, 이 알고리즘의 성능에 영향을 미치는 다른 요인들을 전부 고려한다. 수행된 모든 연산에 대해 자료구조 연산만의 어떤 시퀀스를 수행하는데 필요한 시간의 평균을 구한다. 비록 그 시퀀스에서 하나의 연산비용이 비싸더라도, 그 일련의 연산에 대해 평균을 구하면 연산 하나의 평균 비용이 작다는 것을 분할 상환 분석을 이용해 보일 수 있다. 분할 상환 분석은 확률이 포함되..

Problem Solving/Algorithm, DS

[알고리즘] 해시 알고리즘: 탐색과 충돌 (Hashing)

📂 해시테이블 정렬알고리즘에 비해 탐색알고리즘은 수시로 탐색이 진행된다(ex. 데이터베이스에서 원하는 데이터를 찾을 때) 따라서 탐색 알고리즘에서 탐색에 소요되는 시간을 단축시키는 것은 굉장히 중요한 이슈이다. 원소가 저장될 자리가 원소의 값에 의해 바로 결정되는 자료구조 → O(1) 시간으로 매우 빠른 응답을 요구할 때 사용되는 기법 cf. 탐색 트리의 경우 원소의 값에 의해 위치가 결정되지만 트리를 탐색해 내려가는 시간이 소요됨 최소값, 특정값 바로 전/후의 값 등을 찾아낼 수 없으며 그냥 특정값의 위치를 찾아내기만 하는 '탐색'의 기능만 함 해시테이블에서는 해시함수 h(x) = (ax + b) mod p 를 이용해 원소가 저장될 위치를 결정함 h(x) = x mod 11 값을 균등하게 배분할수록 좋..

Problem Solving/BOJ 백준

[BOJ] 백준 9370번 미확인 도착지 (C++ 코드)

🧨 백준 9370번 - 미확인 도착지 문제 난이도 : 골드2 (어렵다 어려워) 문제 링크 : www.acmicpc.net/problem/9370 9370번: 미확인 도착지 (취익)B100 요원, 요란한 옷차림을 한 서커스 예술가 한 쌍이 한 도시의 거리들을 이동하고 있다. 너의 임무는 그들이 어디로 가고 있는지 알아내는 것이다. 우리가 알아낸 것은 그들이 s지점에서 www.acmicpc.net 🧨 알고리즘 선택 및 C++ 코드 #include #include #include #include #include using namespace std; struct edge { int to, length; }; int dijkstra(const vector& graph, int source, int target) ..

Problem Solving/BOJ 백준

[BOJ] 백준 10282번 해킹 (C++ 코드)

🧨 백준 10282번 - 해킹 문제 난이도 : 골드4 문제 링크 : www.acmicpc.net/problem/10282 10282번: 해킹 최흉최악의 해커 yum3이 네트워크 시설의 한 컴퓨터를 해킹했다! 이제 서로에 의존하는 컴퓨터들은 점차 하나둘 전염되기 시작한다. 어떤 컴퓨터 a가 다른 컴퓨터 b에 의존한다면, b가 감염되면 www.acmicpc.net 🧨 알고리즘 선택 및 C++ 코드 #include #include #include #include #include using namespace std; struct edge { int to, length; }; int cnt = 0; int dijkstra(const vector& graph, int source, int target) { vect..

Problem Solving/Algorithm, DS

[알고리즘] 최단거리 (다익스트라, 벨만포드, 플로이드와셜 알고리즘) Dijkstra, Bellman-Ford, Floyd-Warshall Algorithm

📁 최단거리문제 보통 시작노드부터 도착노드까지의 최단경로를 구하는 형식의 문제이다. MST에서 알 수 있듯이 최단경로는 절대 사이클을 포함하지 않는다. 최단거리 문제는 가중치 유무에 따라, 가중치가 있을 경우엔 가중치의 음양에 따라 알맞은 알고리즘을 사용한다. 양의 가중치만 있을 때 : 다익스트라 알고리즘(Dijkstra's Algorithm) 음의 가중치만 있을 때 : 벨만포드 알고리즘(Bellman-Ford Algorithm) n 대 n의 최단거리를 모두 구하고 싶을 때 : 플로이드와샬 알고리즘(Floyd-Warshall Algorithm) 📁 다익스트라 알고리즘 Dijkstra's Algorithm 에지의 가중치가 양수일 때 사용한다. 음수 가중치를 고려하지 않으므로 가중치의 합이 최단거리를 좌우한..

blackon29
'분류 전체보기' 카테고리의 글 목록 (3 Page)