문제풀이/이진탐색 20

[JAVA] Pro 순위 검색

문제 https://school.programmers.co.kr/learn/courses/30/lessons/72412 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 1. info : "java and backend and junior and pizza 100" -> map에 key : "javabackendjuniorpizza" value : 100 로 저장한다. 2. "javabackendjuniorpizza" 와 "-backendjuniorpizza"의 조회 결과는 같으므로 "상관없음(-)" 케이스를 고려하여 모든 경우의 수를 map에 저장한다..

[JAVA] Pro 선입 선출 스케줄링

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12920 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 1. 이진탐색을 통해 mid시간을 기준으로 n보다 작으면서 최대 처리개수 계산 2. 그 후, end를 기준으로 새로 시작가능한 것을 구한 뒤 temp==n이면 break 코드 class Solution { public int solution(int n, int[] cores) { int answer = 0; if(n

[JAVA] [이진탐색] Pro 숫자 게임

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12987 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 import java.util.*; class Solution { public int solution(int[] A, int[] B) { int answer = 0; Arrays.sort(A); Arrays.sort(B); ArrayList list=new ArrayList(); for(int i=0; i

[JAVA] [이진탐색] 백준 3020 개똥벌레

문제 https://www.acmicpc.net/problem/3020 3020번: 개똥벌레 개똥벌레 한 마리가 장애물(석순과 종유석)로 가득찬 동굴에 들어갔다. 동굴의 길이는 N미터이고, 높이는 H미터이다. (N은 짝수) 첫 번째 장애물은 항상 석순이고, 그 다음에는 종유석과 석순이 www.acmicpc.net 코드 import java.io.*; import java.util.*; public class b3020 { static int[] seog; // 석순 static int[] jong; // 종유석 static int h; private static int upper(int target){ int start=0; int end=jong.length; while(starttarget){ end..

[파이썬] [이진탐색] 백준 1253 좋다

문제 https://www.acmicpc.net/problem/1253 1253번: 좋다 첫째 줄에는 수의 개수 N(1 ≤ N ≤ 2,000), 두 번째 줄에는 i번째 수를 나타내는 Ai가 N개 주어진다. (|Ai| ≤ 1,000,000,000, Ai는 정수) www.acmicpc.net 코드 n=int(input()) array=list(map(int, input().split())) array.sort() #결과값 저장 용도 count=0 for i in range(len(array)): #index i번째 제거하고 temp=array[:i]+array[i+1:] left, right=0, len(temp)-1 while left

@[파이썬] [이진탐색] 백준 2512 예산

문제 https://www.acmicpc.net/problem/2512 2512번: 예산 첫째 줄에는 지방의 수를 의미하는 정수 N이 주어진다. N은 3 이상 10,000 이하이다. 다음 줄에는 각 지방의 예산요청을 표현하는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 값들은 모두 1 이상 www.acmicpc.net 코드 n=int(input()) arr=list(map(int, input().split())) m=int(input()) start=0 end=1000000001 answer=0; sum=0 for i in arr: sum+=i if sum

[파이썬] [이진탐색] 백준 1300 K번째 수

문제 https://www.acmicpc.net/problem/1300 1300번: K번째 수 세준이는 크기가 N×N인 배열 A를 만들었다. 배열에 들어있는 수 A[i][j] = i×j 이다. 이 수를 일차원 배열 B에 넣으면 B의 크기는 N×N이 된다. B를 오름차순 정렬했을 때, B[k]를 구해보자. 배열 A와 B www.acmicpc.net 코드 n=int(input()) k=int(input()) start=1 end=int(1e9) answer=0 while start

[파이썬] [이진탐색] Pro 징검다리

문제 https://programmers.co.kr/learn/courses/30/lessons/43236?language=python3 코딩테스트 연습 - 징검다리 출발지점부터 distance만큼 떨어진 곳에 도착지점이 있습니다. 그리고 그사이에는 바위들이 놓여있습니다. 바위 중 몇 개를 제거하려고 합니다. 예를 들어, 도착지점이 25만큼 떨어져 있고, 바위가 programmers.co.kr 코드 def solution(distance, rocks, n): start,end=0,distance answer=0 rocks.sort() while start

* [파이썬] [이진탐색] 백준 8983 사냥꾼

문제 정의 KOI 사냥터에는 N 마리의 동물들이 각각 특정한 위치에 살고 있다. 사냥터에 온 사냥꾼은 일직선 상에 위치한 M 개의 사대(총을 쏘는 장소)에서만 사격이 가능하다. 편의상, 일직선을 x-축이라 가정하고, 사대의 위치 x1, x2, ..., xM은 x-좌표 값이라고 하자. 각 동물이 사는 위치는 (a1, b1), (a2, b2), ..., (aN, bN)과 같이 x,y-좌표 값으로 표시하자. 동물의 위치를 나타내는 모든 좌표 값은 양의 정수이다. 사냥꾼이 가지고 있는 총의 사정거리가 L이라고 하면, 사냥꾼은 한 사대에서 거리가 L 보다 작거나 같은 위치의 동물들을 잡을 수 있다고 한다. 단, 사대의 위치 xi와 동물의 위치 (aj, bj) 간의 거리는 |xi-aj| + bj로 계산한다. 예를 ..

[파이썬] [이진탐색] 백준 2343 기타레슨

문제 정의 강토는 자신의 기타 강의 동영상을 블루레이로 만들어 판매하려고 한다. 블루레이에는 총 N개의 강의가 들어가는데, 블루레이를 녹화할 때, 강의의 순서가 바뀌면 안 된다. 순서가 뒤바뀌는 경우에는 강의의 흐름이 끊겨, 학생들이 대혼란에 빠질 수 있기 때문이다. 즉, i번 강의와 j번 강의를 같은 블루레이에 녹화하려면 i와 j 사이의 모든 강의도 같은 블루레이에 녹화해야 한다. 강토는 이 블루레이가 얼마나 팔릴지 아직 알 수 없기 때문에, 블루레이의 개수를 가급적 줄이려고 한다. 오랜 고민 끝에 강토는 M개의 블루레이에 모든 기타 강의 동영상을 녹화하기로 했다. 이때, 블루레이의 크기(녹화 가능한 길이)를 최소로 하려고 한다. 단, M개의 블루레이는 모두 같은 크기이어야 한다. 강토의 각 강의의 길..