728x90

알고리즘/SWEA 3

[알고리즘]SWEA 9999: 광고 시간 정하기

주요 로직영어 공부 문제(https://stonesy927.tistory.com/275)와 마찬가지로 ei 이분탐색을 통해서 특정 조건을 만족하는 바로 다음 값을 찾는다.int left = i;int right = N-1;while(left영어 공부 문제에서는 numbers[mid]-numbers[i]-p⇒ 연속 공부 기간보다 작거나 같은 idx 바로 다음 idx가 return되었다.광고 시간 구하기 문제에서는 ads[mid].end-ads[i].start⇒ 광고 시작 ~ 끝까지 L보다 작거나 같은 idx 바로 다음 idx가 return될 것이다. 또한 누적합 개념을 사용하였다.int ans = S[left]-S[i];if(left여기서 S[left]-S[i]는 i~left-1까지의 총 합이고, 마지막 ..

알고리즘/SWEA 2024.07.13

[알고리즘]SWEA 10507: 영어 공부

주요로직n개의 수가 정렬되어 있어 정렬 로직 없이 이분탐색을 사용할 수 있다.길이 n의 numbers 배열을 한번씩 순회하면서 + 이분탐색을 통해서 O(NlogN)으로 문제를 해결했다.int answer = 0;for(int i=0; i이분탐색을 통해서 특정 조건을 만족하는 idx 바로 다음 값을 찾았다.int left = i;int right = n-1;while(left그리고 연속으로 영어 공부를 할 수 있는 날 left-i+p을 계산하고, answer 값을 비교하며 최대값으로 update 해주었다.answer = Math.max(answer, left-i+p); 코드import java.io.*;import java.util.*;public class Solution_10507_binarySearc..

알고리즘/SWEA 2024.07.13
728x90