알고리즘
-
[힙(Heap)] 더 맵게알고리즘/프로그래머스 2021. 10. 2. 20:40
https://programmers.co.kr/learn/courses/30/lessons/42626?language=python3# 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr heapq 를 사용하면 쉽게 해결가능하다. import heapq def solution(scoville, K): answer = 0 heapq.heapify(scoville) while scoville: if scoville[0] < K: answer += 1 if len(scoville)==1: return -1 ..
-
[위클리 챌린지] 8주차알고리즘/프로그래머스 2021. 9. 27. 19:52
https://programmers.co.kr/learn/courses/30/lessons/86491?language=python3 코딩테스트 연습 - 8주차 [[10, 7], [12, 3], [8, 15], [14, 7], [5, 15]] 120 [[14, 4], [19, 6], [6, 16], [18, 7], [7, 11]] 133 programmers.co.kr 프로그래머스 위클리챌린지 8주차 최소직사각형 def solution(sizes): t1, t2 = [], [] for s in sizes: if s[0] > s[1]: t1.append(s[0]) t2.append(s[1]) else: t2.append(s[0]) t1.append(s[1]) return max(t1)*max(t2)
-
[위클리 챌린지] 7주차알고리즘/프로그래머스 2021. 9. 17. 20:43
https://programmers.co.kr/learn/courses/30/lessons/86048 코딩테스트 연습 - 7주차 사회적 거리두기를 위해 회의실에 출입할 때 명부에 이름을 적어야 합니다. 입실과 퇴실이 동시에 이뤄지는 경우는 없으며, 입실 시각과 퇴실 시각은 따로 기록하지 않습니다. 오늘 회의실에는 programmers.co.kr - 풀이 1. 현재 입실한 인원이 누구인지를 담는 now_in리스트와 Key가 번호, Value가 각 번호와 만났는지를 체크하는 리스트인 meet딕셔너리를 사용한다. 2. meet딕셔너리를 {번호, [0, 0, 0, ... ,0]} 의 형태로 초기화한다. 3. 만약 enter = [1, 3, 2] 이고, leave = [1, 2, 3] 일 경우... meet딕셔너..
-
[완전탐색] 모의고사 / 소수 찾기 / 카펫알고리즘/프로그래머스 2021. 9. 15. 20:44
https://programmers.co.kr/learn/courses/30/lessons/42840 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr def solution(answers): case1, case2, case3 = [1,2,3,4,5], [2,1,2,3,2,4,2,5], [3,3,1,1,2,2,4,4,5,5] s = [0, 0, 0] for i in range(len(answers)): if case1[i%5] == answers[i]: s[0] += 1 if case2[i%8] == answ..
-
[스택/큐] 기능개발 / 주식가격알고리즘/프로그래머스 2021. 9. 12. 17:08
https://programmers.co.kr/learn/courses/30/lessons/42586 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr import math def solution(progresses, speeds): answer = [] arr = [] for i in range(len(progresses)): arr.append(math.ceil((100 - progresses[i])/speeds[i])) temp, cnt = arr[0], 0 for i in arr: if temp ..
-
[위클리 챌린지] 6주차알고리즘/프로그래머스 2021. 9. 11. 19:29
https://programmers.co.kr/learn/courses/30/lessons/85002 코딩테스트 연습 - 6주차 복서 선수들의 몸무게 weights와, 복서 선수들의 전적을 나타내는 head2head가 매개변수로 주어집니다. 복서 선수들의 번호를 다음과 같은 순서로 정렬한 후 return 하도록 solution 함수를 완성해주세요 programmers.co.kr - 풀이 정렬 기준 데이터에 대한 리스트를 만들어서 다중정렬을 이용해 조건에 맞게 정렬해주면 된다. def solution(weights, head2head): answer = [] data = [] for h in range(len(head2head)): w_win, win, lose = 0, 0, 0 for i in range..
-
[위클리 챌린지] 5주차알고리즘/프로그래머스 2021. 9. 11. 19:25
https://programmers.co.kr/learn/courses/30/lessons/84512 코딩테스트 연습 - 5주차_모음사전 사전에 알파벳 모음 'A', 'E', 'I', 'O', 'U'만을 사용하여 만들 수 있는, 길이 5 이하의 모든 단어가 수록되어 있습니다. 사전에서 첫 번째 단어는 "A"이고, 그다음은 "AA"이며, 마지막 단어는 "UUUUU"입니 programmers.co.kr - 풀이 from itertools import product def solution(word): return sorted(sum([[''.join(j) for j in product(['A','E','I','O','U'], repeat=i+1)] for i in range(5)], [])).index(wor..
-
[정렬] K번째수 / 가장 큰 수 / H-Index알고리즘/프로그래머스 2021. 9. 5. 14:44
https://programmers.co.kr/learn/courses/30/lessons/42748 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr 파이썬으로 매우 쉽게 풀 수 있다. def solution(array, commands): answer = [sorted(array[i[0]-1:i[1]])[i[2]-1] for i in commands] return answer https://programmers.co.kr/learn/courses/30/lessons/42746 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는..