본문 바로가기

Algorithm101

[프로그래머스] 조건에 부합하는 중고거래 댓글 조회하기 조건에 부합하는 중고거래 댓글 조회하기 | Lv.1 https://school.programmers.co.kr/learn/courses/30/lessons/164673 작성 코드 (성공) SELECT USED_GOODS_BOARD.TITLE AS TITLE, USED_GOODS_BOARD.BOARD_ID, USED_GOODS_REPLY.REPLY_ID, USED_GOODS_REPLY.WRITER_ID, USED_GOODS_REPLY.CONTENTS, DATE_FORMAT(USED_GOODS_REPLY.CREATED_DATE, '%Y-%m-%d') AS DATE_FORMAT FROM USED_GOODS_BOARD RIGHT JOIN USED_GOODS_REPLY ON USED_GOODS_REPLY.BOAR.. 2024. 4. 5.
[백준] 2110번 공유기 설치 2110 | 공유기 설치 골드 4 https://www.acmicpc.net/problem/2110 공유기 설치 문제 도현이의 집 N개가 수직선 위에 있다. 각각의 집의 좌표는 x1, ..., xN이고, 집 여러개가 같은 좌표를 가지는 일은 없다. 도현이는 언제 어디서나 와이파이를 즐기기 위해서 집에 공유기 C개를 설치하려고 한다. 최대한 많은 곳에서 와이파이를 사용하려고 하기 때문에, 한 집에는 공유기를 하나만 설치할 수 있고, 가장 인접한 두 공유기 사이의 거리를 가능한 크게 하여 설치하려고 한다. C개의 공유기를 N개의 집에 적당히 설치해서, 가장 인접한 두 공유기 사이의 거리를 최대로 하는 프로그램을 작성하시오. 입력 첫째 줄에 집의 개수 N (2 ≤ N ≤ 200,000)과 공유기의 개수 C (.. 2023. 5. 23.
[프로그래머스] 징검다리 징검다리 | Lv.4 https://school.programmers.co.kr/learn/courses/30/lessons/43236 작성 코드 (시간 초과) from itertools import combinations def solution(distance, rocks, n): answer = 0 rocks.sort() # 제거할 rock을 combination으로 생성 combination = list(combinations(rocks, n)) for comb in combination: min_dist = distance before = 0 for rock in rocks: # rock 이 comb에 없으면, 즉 제거할 바위가 아니면 if rock not in comb: min_dist = mi.. 2023. 5. 21.
[프로그래머스] 입국심사 입국심사 | Lv.3 https://school.programmers.co.kr/learn/courses/30/lessons/43238 작성 코드 (시간 초과) def solution(n, times): answer = 0 wait = times[:] for person in range(n): # 가장 짧게 끝나는 곳의 인덱스 반환 min_wait = wait.index(min(wait)) # 해당 번호에 줄을 선다 -> 이후 다른 사람은 시간이 더 걸린다 -> 더해준다! wait[min_wait] += times[min_wait] # 입국 심사가 진행되는 시간까지 포함이라 맨 마지막에는 진행 시간을 빼줘야 함 return wait[min_wait] - times[min_wait] 최소 값이라 힙을 쓰고.. 2023. 5. 19.
[프로그래머스] H-Index H-Index | Lv.2https://school.programmers.co.kr/learn/courses/30/lessons/42747    작성 코드 def solution(citations): citations.sort() # h편 이상 인용되는 것을 세야하니 max 값은 citations의 길이를 넘을 수 없음 for i in range(len(citations), 1, -1): if i  [3, 0, 6, 1, 5] -> [0, 1, 3, 5, 6] ilen(citations) - i 5번 이상 인용50citation[0] 부터는 i 보다 크거나 같아야 함4번 이상 인용41citation[1] 부터는 i 보다 크거나 같아야 함3번 이상 인용32citation.. 2023. 5. 18.
[프로그래머스] 디스크 컨트롤러 https://school.programmers.co.kr/learn/courses/30/lessons/42627?language=ruby 작성 코드 (실패) from collections import deque def solution(jobs): visit = deque(jobs) def dfs(total_time, visited, depth, wait_time, min_wait_time): print(1, total_time, visited, depth, min_wait_time) if depth == len(jobs): min_wait_time = min(min_wait_time, total_time) return min_wait_time for idx1, v in enumerate(visited).. 2023. 5. 17.
반응형