반응형

ProblemSolving/Greedy 4

프로그래머스 단속 카메라 (파이썬)

Level 3, Greedy 문제 : https://programmers.co.kr/learn/courses/30/lessons/42884?language=python3 코딩테스트 연습 - 단속카메라 [[-20,-15], [-14,-5], [-18,-13], [-5,-3]] 2 programmers.co.kr 1. 나간 기준 오름차순 정렬 2. 카메라 위치 -30001로 초기화 3. if 나간 지점 >= 다음 차량 진입 지점 ( 두 차량이 겹치는 경우) continue (다음 차량 확인) else: 차량 나간 지점에 마지막 카메라 위치 초기화 answer += 1 제출 코드 def solution(routes): answer = 0 routes.sort(key = lambda x : x[1]) lastC..

프로그래머스 섬 연결하기 (파이썬), 최소 신장 트리, 크루스칼

문제: https://programmers.co.kr/learn/courses/30/lessons/42861?language=python3# 코딩테스트 연습 - 섬 연결하기 4 [[0,1,1],[0,2,2],[1,2,5],[1,3,1],[2,3,8]] 4 programmers.co.kr 첫번째 제출 코드 (오답) import heapq as hq def solution(n, costs): answer = 0 visited = set() q = [] SUM = 0 costs.sort(key=lambda x: (x[2], x[0], x[1])) for start, end, cost in costs: if start in visited and end in visited: continue answer += co..

프로그래머스 체육복 (파이썬)

Level 1 Greedy(탐욕법) 문제 : https://programmers.co.kr/learn/courses/30/lessons/42862?language=python3# 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번 programmers.co.kr 첫번째 정답 코드 def solution(n, lost, reserve): answer = 0 reserve.sort() lost.sort() temp = reserve[:] for i in reserve: if i in lost: lost.remove(i) temp.remove(i) r..

백준 10610 30 (python)

문제 출처: https://www.acmicpc.net/problem/10610 풀이 제 코드는 다음과 같습니다. import sys num = sys.stdin.readline().rstrip() def sol(): if '0' not in num: #입력에 0 이 없으면 30 배수 안되므로 -1 print(-1) return num_list = list(num) # num_list.sort(reverse=True) # SUM = 0 for i in range(len(num_list)): # 각 자리수의 합이 3의 배수이면 num은 3의 배수 SUM += int(num[i]) if SUM % 3 == 0: print("".join(num_list)) return else: print(-1) return..

1
반응형