본문 바로가기

전체 글

(204)
SQL 코드카타 121 - Patients With a Condition https://leetcode.com/problems/patients-with-a-condition/description/ Column NameTypepatient_idintpatient_namevarcharconditionsvarchar Patients 테이블:patient_id : 테이블의 고유 키patient_name : 환자의 이름conditions : 환자의 상태Type I Diabetes (제1형 당뇨병)을 가진 환자들의 patient_id, patient_name, conditions을 찾으세요. Type I Diabetes는 항상 DIAB1 접두사로 시작합니다. SELECT patient_id, patient_name, conditionsFROM PatientsWHERE conditions..
SQL 코드카타 120 - Fix Names in a Table https://leetcode.com/problems/fix-names-in-a-table/description/ Column NameTypeuser_idintnamevarchar Employee 테이블:user_id : 테이블의 고유 키name   : 사용자의 이름이름을 수정하여 첫 글자만 대문자로, 나머지는 소문자로 만드세요.결과 테이블은 user_id 순서로 정렬되어야 합니다. select ucase(substring(name, 1, 1)), lcase(substring(name, 2))from Users substring으로 분리한 문자들을 ucase와 lcase를 이용해서 각각 대문자와 소문자로 반환한다. select concat(ucase(substring(name, 1, 1)..
SQL 코드카타 119 - Department Top Three Salaries https://leetcode.com/problems/department-top-three-salaries/description/ Column NameTypeidintnamevarcharsalaryintdepartmentIdint Employee 테이블:id: 테이블의 고유 키name   : 직원의 이름salary : 직원의 급여departmentId : Department 테이블의 ID Column NameTypeidintnamevarcharDepartment 테이블:id: 테이블의 고유 키name : 부서의 이름회사의 임원들은 회사의 각 부서에서 가장 많은 급여를 받는 직원을 보고 싶어 합니다. 각 부서에서의 고수익자는 그 부서의 상위 세 개의 고유한 급여 중 하나를 받는 직원입니다.각 부서에서 고수..
까먹기 전에 적어두는 Heap(최대 힙 버전) class BinaryMaxHeap: def __init__(self): self.items = [None] def insert(self, k): self.items.append(k) self._percolate_up() def _percolate_up(self): cur = len(self.items) - 1 # 계산의 편의성을 위해서 첫 자리가 1이기 때문에 parent = cur // 2 # 자식노드는 부모노드 * 2 +1 이므로, 자식노드의 위치를 2로 나눈 몫이 부모노드의 위치가 된다. while parent > 0: if self.items[cur] > self.items[parent..
까먹기 전에 적어두는 Stack, Queue stack : 후입선출queue : 선입선출 스택구조class Node: def __init__(self, data, next=None): self.data = data self.next = nextclass Stack: def __init__(self): self.top = None def push(self, val): self.top = Node(val, self.top) # 값을 val로 기존의 self.top를 next로 가지는 새로운 노드를 생성하여 새로운 self.top로 함 def pop(self): if not self.top: return None node = self.to..
알고리즘 코드카타 54 - 2016년 (복습) https://school.programmers.co.kr/learn/courses/30/lessons/12901 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 설명 2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까지 각각 SUN,MON,TUE,WED,THU,FRI,SAT 입니다. 예를 들어 a=5, b=24라면 5월 24일은 화요일이므로 문자열 "TUE"를 반환하세요. 제한 조건 ..
SQL 코드카타 118 - Investments in 2016 https://leetcode.com/problems/investments-in-2016/description/ Column NameTypepidinttiv_2015floattiv_2016floatlatfloatlonfloat RequestAccepted 테이블:pid : 테이블의 고유 키, 보험 가입자의 IDtiv_2015  : 2015년의 총 투자 가치tiv_2016 : 2016년의 총 투자 가치lat : 보험 가입자의 도시의 위도입니다. lat는 NULL이 아님lon : 보험 가입자의 도시의 경도입니다. lon은 NULL이 아님같은 tiv_2015 값을 가진 다른 보험 가입자가 있는 경우와 다른 모든 보험 가입자와 동일한 도시에 위치하지 않는 경우(즉, (lat, lon) 속성 쌍이 고유해야 함)에..
SQL 코드카타 117 - Friend Requests II: Who Has the Most Friends https://leetcode.com/problems/friend-requests-ii-who-has-the-most-friends/ Column NmaeTyperequester_idintaccepter_idintaccept_datedate RequestAccepted 테이블:requester_id : 테이블의 고유 키, 요청받은 사용자의 idaccepter_id : 테이블의 고유 키, 요청한 사용자의 idaccept_date : 요청이 수락된 날짜가장 많은 친구를 가진 사람과 그 친구 수를 찾는 해결책을 작성하세요.테스트 케이스는 오직 한 사람만이 가장 많은 친구를 가지도록 생성됩니다.결과 형식은 다음 예시와 같습니다. 친구의 수는 친구신청을 한 횟수 + 친구신청을 받은 횟수이므로 두 경우를 구해서 서..