본문 바로가기

LeetCode

[LeetCode] - 2798. Numbers of Employees Who Met the Target

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;
    }

}


이 문제는 진짜 난이도 쉬움 문제 중 정말로 쉬웠던 문제 중 하나같으니, 아~~~예 쌩초짜분들께 추천드립니다.

  1. 결과 변수 초기화 :
    • 목표 시간을 충족한 직원 수를 저장할 변수를 선언하고 초기화합니다.
  2. 근무 시간 배열 순회 및 조건 검사 :
    • hours 배열의 각 요소를 순회하면서 현재 직원의 근무 시간이 목표 시간 이상인지 확인합니다.
    • 조건을 만족하는 경우 res를 증가시킵니다.
  3. 결과 반환 :
    • 목표 시간을 충족한 직원 수를 반환합니다.

시간 및 공간 복잡도 : 

  1. 시간 복잡도 :
    • O(n) : hours 배열의 각 요소를 한 번씩 순회하므로 시간 복잡도는 O(n)입니다. 여기서 n은 hours 배열의 길이입니다.
  2. 공간 복잡도 :
    • O(1) : 추가적인 데이터 구조를 사용하지 않으므로 공간 복잡도는 O(1)입니다.

Runtime 결