목록greedy (26)
기록방
👉 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔸 문제 분석 🔸 k개의 귤을 선택할 때, 귤의 크기 종류의 최소값을 반환한다. 🔸 문제 풀이 🔸 귤의 크기 종류와 각각의 귤 개수를 카운트한다. 그리디하게 접근해서, 귤 개수가 많은 종류부터 k개를 고른다면 최소한의 종류로 선택할 수 있다. 🔸 코드 🔸 import java.util.HashMap; import java.util.Map; import java.util.ArrayList; import java.util.List; class Solution { public int solution(i..
👉 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔸 문제 분석 🔸 0에서 n까지 이동하는 최소 점프 수를 반환한다. 점프하면 한 칸 앞으로 이동한다. 텔레포트하면 현재 인덱스의 2배 인덱스로 이동하고, 점프 수는 증가하지 않는다. 🔸 문제 풀이 🔸 텔레포트는 짝수 인덱스에서만 가능하고, 점프 수가 증가하지 않으므로 무조건 많이 쓰면 좋다. 0부터 시작해 n으로 향하면, 쓸 데 없는 경우의 수가 많아지므로 확실히 도착하는 경로를 찾기 위해서 n부터 시작해 0으로 끝나도록 계산한다. 현재 수가 짝수라면 n/2 절반 인덱스로 이동한다. (텔레포트) ..
👉 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔸 문제 분석 🔸 사람을 무게 제한이 limit인 구명 보트로 각각 최대 2명씩 구조할 수 있다. 모든 사람을 구하기 위한 구명보트 개수의 최솟값을 반환한다. 🔸 문제 풀이 🔸 그리디적으로 접근한다. 사람들의 몸무게를 정렬한다. 오름차순으로 정렬했을때 가장 무거운 사람이 오른쪽 끝에 있다. 가장 무거운 사람을 옮길 때 가장 가벼운 사람과 같이 탈 수 없다면, 혼자만 탈 수 있다. 가장 무거운 사람 + 가장 가벼운 사람 둘이 탈 수 있으면 타고 탈출하면 된다. 🔸 코드 🔸 import java.ut..
👉 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔸 문제 분석 🔸 길이가 같은 정수형 배열 A와 B가 입력된다. A와 B의 원소를 각각 하나씩 곱한 후 누적한 값의 최소값을 출력한다. 🔸 문제 풀이 🔸 원소곱의 누적합이 최소가 되려면, 가장 큰 수를 가장 작은 수와 곱해야 한다. 그리디적인 관점이라고 할 수 있다. A와 B배열을 오름차순 정렬한다. 아직 사용하지 않은 원소중에서 가장 큰 수와 반대편의 배열의 가장 작은수를 곱해 누적하는 방식으로 계산한다. 🔸 코드 🔸 import java.util.Arrays; class Solution { p..
> 원본 노션 페이지 보러 가기