Problem solving70 [Programmers] 입국심사 (C++) 문제 n명이 줄을 서 있다. 각 입국 심사대마다 소요되는 시간은 다르다. 한 심사대는 한 명만 심사할 수 있다. 모든 사람이 심사 받는데 걸리는 시간의 최솟값 구하기 생각할 것 가장 먼저 심사시간 정렬하기 심사시간의 범위 : 1 ~ 가장 오래걸리는 사람 * 모든 사람 수 mid 시간 동안 심사할 수 있는 사람의 수를 찾기! 반례 입력값 〉 1000000000, [1, 1000000000] 기댓값 〉 1000000000 틀렸던 이유 : 자료형의 범위 때문에 while문이 실행되지 않았다. 잘못된 코드 long long end = times[times.size() - 1] * n; 고친 코드 long long end = (long long)times[times.size() - 1] * n; 코드 #inclu.. 2023. 7. 4. [LeetCode] 34. Find First and Last Position of Element in Sorted Array (C++) 문제 오름차순으로 정렬된 정수 배열이 주어질 때 target의 시작과 끝을 찾기 시간복잡도 O(log n) 생각할 것 target 숫자 중 가장 작은 인덱스를 찾는 함수 만들기 target + 1 숫자에서 인덱스를 하나 뺀 값이 end에 해당 코드 class Solution { public: int findLowerBound(vector& nums, int target) { int start = 0, end = nums.size() - 1; while(start 2023. 7. 4. [LeetCode] 33. Search in Rotated Sorted Array (C++) 문제 중복없이 오름차순으로 정렬된 정수 배열이 회전되어 있다. target의 인덱스를 찾아라 O(log n)의 시간복잡도를 갖도록 하기 생각할 것 O(log n)의 시간복잡도를 갖기위해 이진 탐색을 이용하기 중간값과 양쪽 끝값 비교하기 코드 class Solution { public: int search(vector& nums, int target) { int start = 0; int end = nums.size() - 1; int mid; while(start 2023. 7. 4. [LeetCode] 28. Find the Index of the First Occurrence in a String (C++) 문제 needle과 haystack 두 개의 문자열이 주어졌을 때, haystack에서 가장 처음 나타난 needle의 인덱스 찾기. 없으면 -1을 리턴 생각할 것 string의 find를 이용하면 되지 않을까? 💡 string의 find함수 문자열을 찾으면 해당 문자열의 시작 인덱스를 리턴 찾지못한다면 -1을 리턴 코드 class Solution { public: int strStr(string haystack, string needle) { return haystack.find(needle); } }; 2023. 7. 3. 이전 1 ··· 10 11 12 13 14 15 16 ··· 18 다음