본문 바로가기

이진 탐색4

[이진 탐색] 백준 12014 주식 자바 (Java) https://www.acmicpc.net/problem/12014 12014번: 주식 입력 파일에는 여러 테스트 케이스가 포함될 수 있다. 파일의 첫째 줄에 케이스의 개수 T(2 ≤ T ≤ 100)가 주어지고, 이후 차례로 T 개 테스트 케이스가 주어진다. 각 테스트 케이스의 첫 줄에 두 www.acmicpc.net 문제 어느 날 당신은 출근길에, 지하철역 쓰레기통에서 놀라운 문서를 얻게 되었다. 이 문서는 미래의 어떤 회사의 주식 가격의 변동이 담겨 있었다. 설마 하는 마음으로 이 회사의 주식 가격의 변동을 본 결과, 문서에 담긴 내용이 사실이라는 것을 알게 되었다. 아마도 미래에서 타임머신을 타고 온 후손이 선조를 돕기 위해서 보낸 것이 아닐까 하는 마음이 들었다. 앞으로 N 일간 주식 가격이 N .. 2023. 1. 23.
[이진 탐색] 백준 2343번 기타 레슨 자바(Java) https://www.acmicpc.net/problem/2343 2343번: 기타 레슨 강토는 자신의 기타 강의 동영상을 블루레이로 만들어 판매하려고 한다. 블루레이에는 총 N개의 강의가 들어가는데, 블루레이를 녹화할 때, 강의의 순서가 바뀌면 안 된다. 순서가 뒤바뀌는 경 www.acmicpc.net 문제 강토는 자신의 기타 강의 동영상을 블루레이로 만들어 판매하려고 한다. 블루레이에는 총 N개의 강의가 들어가는데, 블루레이를 녹화할 때, 강의의 순서가 바뀌면 안 된다. 순서가 뒤바뀌는 경우에는 강의의 흐름이 끊겨, 학생들이 대혼란에 빠질 수 있기 때문이다. 즉, i번 강의와 j번 강의를 같은 블루레이에 녹화하려면 i와 j 사이의 모든 강의도 같은 블루레이에 녹화해야 한다. 강토는 이 블루레이가 얼마.. 2023. 1. 13.
[이진 탐색] 백준 11687번 팩토리얼 0의 개수 자바(Java) https://www.acmicpc.net/problem/11687 11687번: 팩토리얼 0의 개수 첫째 줄에 M (1 ≤ M ≤ 100,000,000)이 주어진다. www.acmicpc.net 문제 가장 끝의 0의 개수가 M개인 N! 중에서 가장 작은 N을 찾는 프로그램을 작성하시오. 입력 첫째 줄에 M (1 ≤ M ≤ 100,000,000)이 주어진다. 출력 가장 끝의 0의 개수가 M개인 N! 중에서 가장 작은 N을 출력한다. 그러한 N이 없는 경우에는 -1을 출력한다. 코드 import java.util.Scanner; public class No11687 { public static void main(String[] args) { Scanner sc = new Scanner(System.in);.. 2023. 1. 10.
[이진 탐색] 이진탐색 방법 & 자바 코드 이진탐색 이진 탐색은 정렬된 리스트에서 검색 범위를 절반씩 줄여가며 탐색하는 알고리즘이다. 시간복잡도: O(log n) 이진탐색 하는 방법 1. 이진탐색할 배열을 정렬한다. 2. 처음에는 배열의 0번째 인덱스를 left로 마지막 인덱스를 right로 한다. 3. left와 right의 중간 즉,(left+right)/2 지점을 mid로 한다. 4. 4-3조건을 만족하거나 5의 조건을 만족할때까지 반복한다. 4-1 mid key면 right= mid - 1을 하여 right의 값을 갱신하고 새로운 mid값을 구한다. 4-3 mid == key 값이면 배열에 찾는 값이 존재하는 것이다. 5. .. 2023. 1. 10.