LeetCode는 프로그래밍 문제를 풀며 코딩 실력을 향상할 수 있는 온라인 플랫폼입니다. 다양한 알고리즘 및 데이터 구조 문제를 제공하며, 면접 대비에 유용합니다. 해당 문제는, LeetCode Problems에서 볼 수 있는 난이도 '쉬움 (Easy)' 단계인 " Numbers of Employees Who Met the Target " 문제입니다.
--> https://leetcode.com/problems/number-of-employees-who-met-the-target/description/
문제 :
There are n employees in a company, numbered from 0 to n - 1.
Each employee i has worked for hours[i] hours in the company.
The company requires each employee to work for at least target hours.
You are given a 0-indexed array of non-negative integers hours of length n and a non-negative integer target.
Return the integer denoting the number of employees who worked at least target hours.
Example 1 :
Input : hours = [0,1,2,3,4], target = 2
Output : 3
Explanation : The company wants each employee to work for at least 2 hours.
- Employee 0 worked for 0 hours and didn't meet the target.
- Employee 1 worked for 1 hours and didn't meet the target.
- Employee 2 worked for 2 hours and met the target.
- Employee 3 worked for 3 hours and met the target.
- Employee 4 worked for 4 hours and met the target.
There are 3 employees who met the target.
Example 2 :
Input : hours = [5,1,4,2,2], target = 6
Output : 0
Explanation : The company wants each employee to work for at least 6 hours.
There are 0 employees who met the target.
Constraints :
- 1 <= n == hours.length <= 50
- 0 <= hours[i], target <= 10^5
이 문제의 상황을 설명드리자면 : 회사에는 0번부터 n-1번까지 번호가 매겨진 n명의 직원이 있습니다. 각 직원 i는 hours[i] 시간 동안 회사에서 일했습니다. 회사는 각 직원이 최소 target 시간 이상 일하기를 요구합니다. hours 배열과 target 정수가 주어질 때, 최소 target 시간 이상 일한 직원 수를 반환하는 문제입니다.
class Solution {
public int numberOfEmployeesWhoMetTarget(int[] hours, int target) {
int res = 0;
for (int i = 0; i < hours.length; i++) {
if (hours[i] >= target) {
res++;
}
}
return res;
}
}
이 문제는 진짜 난이도 쉬움 문제 중 정말로 쉬웠던 문제 중 하나같으니, 아~~~예 쌩초짜분들께 추천드립니다.
- 결과 변수 초기화 :
- 목표 시간을 충족한 직원 수를 저장할 변수를 선언하고 초기화합니다.
- 근무 시간 배열 순회 및 조건 검사 :
- hours 배열의 각 요소를 순회하면서 현재 직원의 근무 시간이 목표 시간 이상인지 확인합니다.
- 조건을 만족하는 경우 res를 증가시킵니다.
- 결과 반환 :
- 목표 시간을 충족한 직원 수를 반환합니다.
시간 및 공간 복잡도 :
- 시간 복잡도 :
- O(n) : hours 배열의 각 요소를 한 번씩 순회하므로 시간 복잡도는 O(n)입니다. 여기서 n은 hours 배열의 길이입니다.
- 공간 복잡도 :
- O(1) : 추가적인 데이터 구조를 사용하지 않으므로 공간 복잡도는 O(1)입니다.
'LeetCode' 카테고리의 다른 글
[LeetCode] - 371. Sum of Two Integers (0) | 2024.07.28 |
---|---|
[LeetCode] - 2710. Remove Trailing Zeros From a String (0) | 2024.07.26 |
[LeetCode] - 2810. Faulty Keyboar (0) | 2024.07.26 |
[LeetCode] - 2894. Divisible and Non-Divisible Sums Difference (0) | 2024.07.26 |
[LeetCode] - 3099. Harshad Number (0) | 2024.07.26 |