📖 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 풀이 방식 • 투 포인터 ▷ 탐색 대상 : 모든 보석 구매하기 위한 최소 구간 필요 자료구조 - 보석 "종류" 저장용 Set - 보석 "구간" 저장용 Set - 저장용 Map 투 포인터 구간 탐색 위한 int형 변수 - left와 right (초기값 : 모두 0) 1. map에 right쪽에 위치한 보석을 넣는다. 2. left에 위치한 보석이 중복이라면, 보석 갯수를 줄이고, 시작 구간을 1 증가한다. 3. 모든 보석을 탐색했으며 (set1.size() == set2.size()), 최단 구간이..
이진탐색
📖 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 풀이 방식 • 이분 탐색 ▷ 대상 : 징검다리 건널 수 있는 친구들 수 1. 탐색하는 친구가 건널 수 있다면, 중간 값보다 작은 값들로 모두 건널 수 있음을 의미한다. 그러면 그 때 중간 값보다 많은 인원으로 건널 수 있는지 확인한다. 2. 탐색하는 친구가 건널 수 없다면, 중간 값보다 큰 수로는 건널 수 없음을 의미하므로, 중간 값보다 적은 인원으로 건널 수 있는지 확인한다. 🔺 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24..
🔺 문제 18114번: 블랙 프라이데이 첫 번째 줄에 물건의 개수 N과 제시하는 무게 C가 공백으로 구분되어 주어진다. (1 ≤ N ≤ 5,000, 1 ≤ C ≤ 108, N과 C는 양의 정수) 다음 줄에는 N개의 물건 각각의 무게 w가 공백으로 구분되어 주어진 www.acmicpc.net 🔺 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 import java.util.*; import java.io.*; public class Main { static int N, C; static L..
🔺 문제 1654번: 랜선 자르기 첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그 www.acmicpc.net 🔺 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws IOExceptio..