본문 바로가기
728x90

전체 글145

[그리디] Greedy Algorithm / 높은 숫자의 카드가 이기는 게임 문제링크 https://www.codetree.ai/missions/8/problems/a-high-number-of-cards-wins?&utm_source=clipboard&utm_medium=text 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 1. 핵심 내(A)가 상대편(B)의 카드를 알고 있는 상황. 이 상황에서 내가 상대편(B)를 최대한 이길려면 어떻게 해야하는가? B를 이기려면 B가 가진 카드보다 큰값을 제시해야한다. 우선 정렬은 하는게 훨씬 낫다. 정렬이 정답 유무에 미치지 않기 때문이다. 핵심!! B의 각 카드보다 크면서 내가 가진.. 2024. 2. 13.
[그리디] Greedy Algorithm / 자동차 단일 거래 이익 최대화하기 2 [문제그림] 문제링크 https://www.codetree.ai/missions/8/problems/max-profit-of-single-car-2?&utm_source=clipboard&utm_medium=text 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 1. 핵심 정렬은 불가능하다. 왜냐하면 파는 시점과 사는 시점이 섞일 수는 없기 때문이다. 자동차를 파는 시점 기준(r)으로 그 전(0 ~ r - 1)에 언제 자동차를 사야했는가? 이익을 최대화하기 위해서는 사는 가격을 최소화해야한다. 즉, 파는 시점 기준 첫 날부터 팔기 전 날까지의 가격 .. 2024. 2. 13.
[그리디] 최대 숫자 만들기 문제링크 https://www.codetree.ai/missions/8/problems/make-biggest-num?&utm_source=clipboard&utm_medium=text 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 1. 핵심 from functools import cmp_to_key 중 custom comparator만들기 # o1 앞, o2 뒤 # compare의 기본: 오름차순(o1 - o2 0: -1) # -1이 있는 if문이 현재의 (오름, 내림)차순을 나타냄. def c.. 2024. 2. 13.
[SQL] 우유와 요거트가 담긴 장바구니 문제링크 https://school.programmers.co.kr/learn/courses/30/lessons/62284 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 핵심 교집합을 활용한 풀이 방법1. milk, yogurt 테이블을 각각 만들어서 inner join하는 풀이 + inner join의 경우 중복된 id를 처리하기 위해서 distinct 방법2. 집합연산사 intersect를 사용해서 우유와 요거트가 모두 있는 id 구하기 2. 코드(MySQL) -- 코드를 입력하세요 # 우유와 요거트 동시 구입한 장바구니 # 장바구니의 id 조회.. 2024. 2. 12.
[SQL] 조건에 맞는 사용자 정보 조회하기 문제링크 https://school.programmers.co.kr/learn/courses/30/lessons/164670 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 핵심 COUNT 집계함수 - group by된 행의 개수를 세고 싶을 때..순간 떠올리지 못했다. CONCAT CONCAT('행복한', '라이언')의 결과는 '행복한라이언'으로 띄어쓰기 없이 출력된다. 출력 양식을 잘 봐서 띄어쓰기에도 주의하도록한다. SUBSTRING 전화번호의 양식 'xxx-xxxx-xxxx'을 만들기 위해서 사용한 함수이다. SUBSTRING(STR, star.. 2024. 2. 12.
[SQL] 자동차 평균 대여 기간 구하기 문제링크 1. 핵심 대여기간 timestampdiff(day, start, end) + 1 > 오늘 대여하고 오늘 반납해도 대여일은 1일이다. 평균 대여기간 집계함수 avg가 필요하다. car_id를 기준으로 group by를 진행해 평균 duration을 계산한다. 평균 대여기간이 7일이상이라는 조건이 있다. 반드시 문제 풀기 전에 확인한다. 2. 코드(MySQL) # 평균대여기간 7일이상 # 대여기간 +1 잊지말자! # 평균기간 내림차순 id 내림차순 with temp as ( select CAR_ID, timestampdiff(day, START_DATE, END_DATE) + 1 as DURATION from CAR_RENTAL_COMPANY_RENTAL_HISTORY ) select CAR_ID.. 2024. 2. 12.
728x90
반응형