코린이의 소소한 공부노트

[LeetCode/Easy] 2525. Categorize Box According to Criteria 본문

코딩테스트 풀이/JAVA

[LeetCode/Easy] 2525. Categorize Box According to Criteria

무지맘 2023. 3. 18. 23:53

1. Input

1) int length

2) int width

3) int height

4) int mass

- 박스의 가로, 세로, 높이, 무게를 나타낸다.

 

2. Output

1) 다음 규칙에 따른 박스의 카테고리를 문자열로 반환

- 박스의 어느 한 길이라도 10^4 이상이거나, 박스의 부피가 10^9 이상이면 bulky하다고 한다.

- 박스의 무게가 100 이상이면 heavy하다고 한다.

- 박스가 bulky하면서 heavy하면 카테고리는 “Both"이다.

- 박스가 bulky하면서 heavy하지 않다면 카테고리는 “Bulky"이다.

- 박스가 bulky하지 않으면서 heavy하면 카테고리는 “Heavy"이다.

- 박스가 bulky하지도 heavy하지도 않다면 카테고리는 “Neither"이다.

 

3. Constraint

1) 1 <= length, width, height <= 10^5

2) 1 <= mass <= 10^3

 

4. Example

Input: length = 1000, width = 35, height = 700, mass = 300 -> Output: "Heavy"

설명:

- 어떤 길이도 10^4를 넘지 않고, 부피는 24,500,000로 10^9보다 작다. 따라서 bulky하지 않다.

- 무게는 100을 넘으므로 heavy하다.

- 따라서 "Heavy"를 반환한다.

 

5. Code

1) 첫 코드(2023/03/18)

boolean isBulky = false, isHeavy = false;        
if(mass>=100) isHeavy = true;

if(length>=Math.pow(10,4) || width>=Math.pow(10,4) || height>=Math.pow(10,4))
    isBulky = true;
else if((long)length*width*height>=Math.pow(10,9))
    isBulky = true;

String answer = "";
if(isBulky && isHeavy) answer = "Both";
else if(isBulky && !isHeavy) answer = "Bulky";
else if(!isBulky && isHeavy) answer = "Heavy";
else answer = "Neither";        
return answer;