문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42587 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr 문제 설명 다음과 같은 규칙에 따라 프린터를 인쇄 문제에서 원하는 번호의 인쇄 명령이 언제 출력되는지 확인하는 것 가장 앞에 있는 문서를 뽑아서, 인쇄하거나 맨 뒤에 배치 -> deque 쓰기 아주 좋다 문제 풀이 규칙에서 알려준 대로 그대로 구현해주면 된다 deque 자료구조를 사용하면 앞에서 뽑고 뒤에 추가하는 등을 자유롭게 수행할 수 있다. 한 가지..
문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42627 코딩테스트 연습 - 디스크 컨트롤러 하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 예를 programmers.co.kr 문제 설명 - 각 작업의 시작 시점, 걸리는 시간이 주어짐 - 이들을 "특정 순서"로 진행하면 평균적인 대기 시간(=전체 대기 시간) 을 최소화할 수 있다. - 이때 대기 시간은 시작 시점~종료된 시점 으로 계산 - 대기 시간을 최소화해봤을 때 평균 값을 구해봐라 문제 풀이 풀이는 참 간단한데 구현에서 좀 까다롭다 우선, 풀이에서 사용할 자료구조..
문제 설명 매운 맛에 대한 배열 scoville 이 주어지고, 최소한의 매움 지수인 K가 주어진다 가장 안 매운 값 2개를 "섞어" 서 특정 값으로 바꾸는 연산이 가능하다 new = alpha + (beta *2). 이때 alpha 가 가장 작은 값, beta가 2번째로 작은 값 이렇게 "섞기"를 통해 매움 지수가 K를 넘기도록 하고, 이에 필요한 연산의 수를 구하는 것 어떻게 해도 구할 수 없다면 -1 을 결과를 출력 문제 풀이 힙(Heap) 을 사용하면 쉽게 풀어줄 수 있다. 우리가 접근해야 하는 것은 리스트 전체가 아니라 "최소값" 이므로, 이에 대해 접근하기 위한 Heap 자료구조 사용 python 에서는 heapq를 써서 쉽게 처리할 수 있다. 우선 해당 문제에서는 while 문을 돌면서 최소값..
문제 설명 - 전체 선수 목록, 완주한 선수 순으로 나옴 - 완주하지 못한 선수는 한명이 발생 - 중복의 이름이 들어올 수 있다. 문제 풀이 - set으로 접근하려고 했는데, 이름이 중복될 수 있기 때문에 그냥 dict로 처리 - 좀더 깔끔하게 처리하는 방법이 있을 것 같다. 코드 확인 def solution(participant, completion): answer = '' parti_dict = {} for parti_item in participant: if parti_dict.get(parti_item) is None: parti_dict[parti_item] = 1 else: parti_dict[parti_item] = parti_dict.get(parti_item) + 1 for comp_it..
문제 설명 - Progress List, Speed List 가 주어진다 - 각 Progress는 100이 되어야 "배포"가 가능 - Speed List는 각 Progress 별 작업 속도를 나타낸 것 - 앞의 Progress가 끝나야 뒤의 것이 같이 배포가 가능함 - 즉, 실행이 완료되는데 걸리는 시간을 미리 구해두고, 앞에서부터 순회 - 순회중일때 지금 보다 오래 걸리는게 있으면 막히는것(=막히기 전의 작업들은 뭉쳐서 배포가능하다) - 막히기 전까지 계속 합치고, 막히면 List에 추가 = 문제 풀이 - Progresses, Speeds를 Zip으로 묶어서 깔끔하게 처리 가능 - 실행이 완료되는데 걸리는 시간을 List로 구성 - div, mod 등으로 적당히 처리 - 순회하면서 막히는 구간 찾고, ..
문제 설명 - 복장에 대해서, List로 [value, key] 가 주어진다. e.g) [["Sunglasses", "headwear"], ["Coat", "BodyWear"], ["AweSomeGlass", "headwear"] 과 같은 식으로 입력 들어옴 -> { "headwear":["Sunglasses", "headwear"], "BodyWear": "Coat" } - 이때, 같은 key의 옷은 입을 수 없을때 가능한 모든 옷 조합을 구하는 문제 - 간단하게 풀어보자면, 조합을 하나씩 구성하는 것보다 경우의 수로 접근하는게 편함 문제 풀이 - 경우의 수로 접근하는데, 각 옷 카테고리(=key) 별로 존재하는 옷의 수들을 모두 곱한 다음에 -1 로 처리 - 왜냐하면, 아무것도 착용하지 않는 것은 제..
- Total
- Today
- Yesterday
- BOJ
- 삽질
- req.user
- 그리디
- Javascript
- jwt
- 백준
- 도커 로그
- 로그 용량
- django test
- 코딩테스트
- docker-compose update
- factory_pattern
- Python
- 위상정렬
- SQL
- selenium-wire
- vscode
- 우선순위큐
- 파이썬
- Spread Parameter
- blind_based
- 프로그래머스
- django testcase
- Remote
- private repo
- seleniumwire
- 힙
- 스택
- Til
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |