코린이의 소소한 공부노트

[LeetCode/Easy] 1431. Kids With the Greatest Number of Candies 본문

코딩테스트 풀이/JAVA

[LeetCode/Easy] 1431. Kids With the Greatest Number of Candies

무지맘 2022. 12. 25. 21:53

1. Input

1) 아이들이 현재 갖고있는 사탕의 개수를 담은 int 배열 candies

2) 내가 갖고 있는 여분의 사탕의 개수를 담은 int 변수 extraCandies

 

2. Output

1) extraCandiesi번째 아이에게 줬을 때, i번째가 가장 많은 사탕을 갖고 있다면 true, 아니면 false를 순서대로 담은 boolean 배열

2) 사탕의 수가 가장 많은 아이는 여러 명이 될 수 있다.

 

3. Constraint

1) n == candies.length

2) 2 <= n <= 100

3) 1 <= candies[i] <= 100

4) 1 <= extraCandies <= 50

 

4. Example

Input: candies = [2,3,5,1,3], extraCandies = 3 -> Output: [true,true,true,false,true]

설명: 내가 갖고 있는 사탕 3개를

- 0번째에게: 2+3=5이므로 가장 많은 사탕을 갖게 되어 true

- 1번째에게: 3+3=6이므로 가장 많은 사탕을 갖게 되어 true

- 2번째에게: 5+3=8이므로 가장 많은 사탕을 갖게 되어 true

- 3번째에게: 1+3=4이므로 5보다 작아서 false

- 4번째에게: 3+3=6이므로 가장 많은 사탕을 갖게 되어 true

 

5. Code

1) 첫 코드(2022/06/12)

import java.util.*;
 
int max = 0;
for(int i=0 ; i<candies.length ; i++)
    if(max < candies[i])
        max = candies[i];

List<Boolean> result = new ArrayList();
for(int i=0 ; i<candies.length ; i++){
    if( (candies[i]+extraCandies) >= max)
        result.add(true);
    else
        result.add(false);
}
return result;