[Programmers] Level 3. 디스크 컨트롤러
·
코딩테스트/Python
🔗 Problem Link 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ❔Thinking 대기열에 등록된 시간과 작업 시간이 주어질 때, 작업에 요청부터 종료까지 걸리는 평균 시간의 최소값을 반환한다. 작업에 요청부터 종료까지 걸리는 시간은 '대기시간' 및 '작업 시간'을 포함한 시간이다. 💻Solution import heapq def solution(jobs): n = len(jobs) total_task_time = 0 current_time = 0 q = [] jobs = sorted(jobs, key=lambda x: (x[0], x[1])) ..
[Programmers] Level 2. 메뉴 리뉴얼
·
코딩테스트/Python
🔗 Problem Link 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ❔Thinking 사람들이 가장 많이 주문한(2명 이상) 단품메뉴(단품 2개 이상)를 조합해 새로운 코스메뉴를 반환한다. 코스를 구성하는 단품 메뉴의 수가 가장 많은 메뉴만을 코스로 구성한다. ("AB" 4개, "AC" 2개일 경우 "AB"만 해당) 💻Solution 1. key를 통한 정렬 풀이 from itertools import combinations from collections import Counter def solution(orders, course): answer =..
[Programmers] Level 3. 보석 쇼핑
·
코딩테스트/Python
🔗 Problem Link 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ❔Thinking 구간 내의 모든 보석을 담을 때, 모든 종류의 보석이 하나 이상 담기는 가장 짧은 구간을 반환한다. 💻Solution def solution(gems): n = len(set(gems)) answer = [0, len(gems)-1] gem = {gems[0]: 1} s, e = 0, 0 while s < len(gems) and e < len(gems): if len(gem) == n: if e-s < answer[1] - answer[0]: answer = [s..
[Programmers] Level 3. 불량 사용자
·
코딩테스트/Python
🔗 Problem Link 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ❔Thinking 일부 문자가 가려진 banned_id와 일치하는 user_id 목록을 만들고, 목록의 개수를 반환한다. 목록의 순서는 관계없으며, 목록의 아이디가 일치한다면 하나의 목록으로 간주한다. 💻Solution 1. id별 일치 여부를 확인하는 풀이 from itertools import permutations def IdCheck(uid, bid): if len(uid) != len(bid): return False correct_cnt = 0 for i in range(..
[Programmers] Level 2. 가격이 제일 비싼 식품의 정보 출력하기
·
코딩테스트/MySQL
🔗 Problem Link 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ❔Thinking FOOD_PRODUCT에서 PRICE가 가장 높은 식품을 출력한다. 💻Solution 1. 가격을 내림차순으로 정렬하고 1개 식품 출력 SELECT * FROM FOOD_PRODUCT ORDER BY PRICE DESC LIMIT 1 2. 가격이 MAX(PRICE)인 식품 출력 SELECT * FROM FOOD_PRODUCT WHERE PRICE IN (SELCET MAX(PRICE) FROM FOOD_PRODUCT) 🗝️keypoint 첫 풀이의 경우, 서브쿼리가..
[Baekjoon] 11659. 구간 합 구하기 4
·
카테고리 없음
🔗 Problem Link 11659번: 구간 합 구하기 4 첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j www.acmicpc.net ❔Thinking 주어진 N개의 숫자들 중, i번째에서 j번째 까지의 합을 구해 반환한다. 💻Solution import sys N, M = map(int, sys.stdin.readline().split()) numbers = list(map(int, sys.stdin.readline().split())) numbers_sum = [0] tmp_sum = 0 for i in numbers: tmp_sum += i..