본문 바로가기

Algorithm/탐욕법4

[프로그래머스 lv 3] 단속카메라 사용 언어 - Python3 문제 - 단속카메라 https://school.programmers.co.kr/learn/courses/30/lessons/42884 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 그리디 진출 시점을 기준으로 그 다음 진입시점이 진출시점보다 작다면, 안 겹치는 구간! 안겹치는 조건 = route[0] > key(진출시점) [[-20, -15], [-18, -13], [-14, -5], [-5, -3]] -20 >-30001 (True. 안겹친다) answer = 1 key = -15 -18 > -15 (False. 겹친다.. 2023. 12. 21.
[프로그래머스 lv 2] 구명보트 사용 언어 - Python3 문제 - 구명보트 https://school.programmers.co.kr/learn/courses/30/lessons/42885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 덱 리스트의 pop, append 이용 1. 정렬후 스택 사용하기 => 절반 테스트케이스에서 오답 def solution(people, limit): answer = 1 stack = [] people.sort() for p in people: if len(stack) == 2: # 이미 최대 두명 태웠다면 answer += 1 # 보트개수 추가.. 2023. 12. 20.
[프로그래머스 lv 2] 조이스틱 사용 언어 - Python3 문제 - 조이스틱 https://school.programmers.co.kr/learn/courses/30/lessons/42860 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 Greedy 탐욕법 (최적해 도출) 최소한으로 움직이는 경우의 수 abcdefghijklnmopqrstuvwxyz A로 이루어진 문자열을 최소한의 커서이동을 통해 원하는 알파벳으로 바꿔야한다. 1. 상하 이동 = 알파벳 이동 디폴트 = 0 알파벳을 찾을 때 "A부터 오름차순으로 찾기 VS Z부터 내림차순으로 찾기" 중 빠른 방향으로 찾아준다. a.. 2023. 12. 19.
[프로그래머스 lv 1] 체육복 사용 언어 - Python3 문제 - 체육복 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 그리디 알고리즘 (정답 맞춘 여부 X) 1. 여벌의 체육복이 있는 학생도 체육복을 도난 당했을 수도 있다. 2. 양쪽 학생이 모두 빌려줄 수 있다면, 왼쪽 학생을 우선적으로 빌려준다. def solution(n, lost, reserve): # 여벌이 있는 학생도 체육복을 도난 당했을 수도 있다. # => 본인이 사용해야 하기 때문에, 다른 학생에게 체육복 빌려줄 수 없다. set_reserve = set(reserve) - set(lost) set_lost .. 2023. 5. 28.