목록Coding Test/LeetCode (8)
091
🔍 SQL : LeetCode 기본 예제 50문제 중 44번 ~ 50번. Advanced String Functions / Regex / Clause (44) 이름 앞글자만 대문자로 만들어서 선택하기SELECT user_id, CONCAT(UPPER(LEFT(name,1)),LOWER(SUBSTRING(name,2))) AS nameFROM UsersORDER BY user_id;(45) 원하는 단어가 포함되어있으면 선택하기(값이 아예 붙어있는 경우를 배제하기 위해 조건을 두개로 달아줬습니다.)SELECT *FROM PatientsWHERE conditions LIKE '% DIAB1%'OR conditions LIKE 'DIAB1%';(46) 아이디가 중복되는 경우 가장 작은 아이디 값만을 남겨두고 ..
🔍 SQL : LeetCode 기본 예제 50문제 중 37번 ~ 43번. Subqueries (37) 매니저가 떠났고 급여가 3000아래 이상인 사람을 선택하기SELECT e.employee_idFROM ( SELECT employee_id,name,manager_id,salary FROM Employees WHERE 1=1 AND salary (38) 짝홀수 자리를 바꾸기 SELECT org.id,CASE WHEN org.id % 2 0 THEN COALESCE(odd.student, org.student)WHEN org.id % 2 = 0 THEN even.student END AS studentFROM Seat orgLEFT JOIN ( SELECT * FROM..
🔍 SQL : LeetCode 기본 예제 50문제 중 30번 ~ 36번. Advanced Select and Joins (30) 매니저와 직원의 관계를 찾아 필요한 정보를 선택하기SELECT m.employee_id, m.name AS name, COUNT(m.employee_id) AS reports_count, ROUND(AVG(e.age),0) AS average_ageFROM Employees eJOIN Employees mON m.employee_id = e.reports_toGROUP BY m.employee_idORDER BY employee_id; (31) 여러 부서에서 일하는 직원들의 메인 부서 선택해오기SELECT ec.employee_id, MAX(CASE WHEN edn = 1 T..
🔍 SQL : LeetCode 기본 예제 50문제 중 23번 ~ 29번. Sorting and Grouping (23) 교사가 가르치고 있는 과목 수를 선택하기SELECT teacher_id, COUNT(DISTINCT subject_id) AS cntFROM TeacherGROUP BY teacher_id; (24) 특정 날짜 사이에 있는 날들 중 접속했던 유저 몇 명인지 기록하기(없는 경우에는 표현하지 않아도 됩니다.)SELECT activity_date AS day, COUNT(DISTINCT user_id) AS active_usersFROM ActivityWHERE activity_date BETWEEN DATE_SUB('2019-07-27',INTERVAL 29 DAY) AND '2019-0..
🔍 SQL : LeetCode 기본 예제 50문제 중 15번 ~ 22번. Aggregate Functions (15) 홀수이며, 특정값이 아닌 경우일 때 내림차순으로 값을 선택하기SELECT *FROM CinemaWHERE id%2 != 0 AND description != "boring"ORDER BY rating DESC; (16) 상품 별 평균판매가를 구하기(판매가 되지 않은 경우에도 상품이 있으면 0개 판매 되었다고 명시해야합니다.)SELECT p.product_id, IFNULL(ROUND(SUM(p.price*u.units)/SUM(u.units),2),0) AS average_priceFROM Prices pLEFT JOIN UnitsSold uON p.product_id = u.produ..
🔍 SQL : LeetCode 기본 예제 50문제 중 6번 ~ 14번. JOIN (6) 두 테이블을 합칠 때 연결값이 없는 경우에도 null 값으로 가져오기SELECT unique_id, name FROM EmployeesLEFT JOIN EmployeeUNI ON Employees.id = EmployeeUNI.id;(7) 두 테이블 연결하기SELECT product_name, year, priceFROM SalesJOIN ProductON Sales.product_id = Product.product_id;(8) 여행 때 환전하지 않은 경우를 가져오기SELECT customer_id, COUNT(customer_id) AS count_no_transFROM Visits LEFT JOIN Transa..
🔍 SQL : LeetCode 기본 예제 50문제 중 1번 ~ 5번. SELECT (1) 동시에 두 조건을 마주치는 행만 가져오기SELECT product_id FROM Products WHERE low_fats = 'Y' AND recyclable = 'Y'; (2) 특정 속성 값이 2이하면 출력하기(null값도 출력되어야함)SELECT name FROM Customer WHERE referee_id IS NULL OR referee_id != 2; (3) 두 조건 중 하나만 만족하는 행도 출력하기SELECT name, area, population FROM World WHERE area >= 3000000 OR population >= 25000000; (4) 조건을 마주하는 행을 오름차순으로 가져..
🔍 자바 문제 2594. 차를 고치는 데 걸리는 최소 시간 구하기 코드 기획 1️⃣ 이진 탐색(Binary Search) : 최소 시간과 최대 시간을 구하고, 그 중간 시간을 구한 뒤 비교하여 최소최대 시간의 기준을 바뀐 뒤 또다시 중간 시간을 구해 비교하는 탐색 방법인 이진 탐색을 이용하여 구하기. 코드 작성class Solution { public long repairCars(int[] ranks, int cars) { //ranks 배열에서 최댓값구하기 int maxRank = 0; for(int i=0;i=cars) maxTime = midTime; // else minTime = midTime + 1; } ..