Math.max, Math.min 이용하기
Math.max(숫자1, 숫자2): 숫자1과 숫자 2 중에 큰 수 반환
Math.min(숫자1, 숫자2): 숫자1과 숫자 2 중에 작은 수 반환
https://school.programmers.co.kr/learn/courses/30/lessons/120868?language=java
class Solution {
public int solution(int[] sides) {
int answer = 0;
int sideMax = 0;
int side = 0;
sideMax = Math.max(sides[0], sides[1]);
for (int i = sideMax; i < sides[0] + sides[1]; i++) {
answer++;
}
side = Math.min(sides[0], sides[1]);
for (int i = sideMax - side + 1; i < sideMax; i++) {
answer++;
}
return answer;
}
}
나머지 한 변의 길이가 가장 긴 변일 경우의 변수를 sideMax 로,
그렇지 않은 경우의 나머지 한 변의 길이를 나타내는 변수를 side 로 설정
예2) [3, 6] 일 경우
주어진 sides[0] 과 sides[1] 중에 큰 변을 sideMax 라고 하면 6이 sideMax 가 됨
sideMax 가 3 + 6 보다 작아야 하므로 answer 에 sideMax인 6부터 9보다 작을 때까지의 개수를 카운트하여 저장 (7, 8, 9)
주어진 sides[0] 과 sides[1] 중에 작은 변을 side 라고 하면 3이 side 가 됨 (sideMax 가 가장 긴 변일 경우)
sideMax 에서 side 를 뺀 값인 6 - 3 보다는 크고 sideMax 보다 작아야 하므로 sideMax 인 6 보다 작아야 하므로 answer 에 3보다 크고 6보다 작은 값을 카운트 하여 저장 (4, 5)
'코딩테스트 > programming_JAVA' 카테고리의 다른 글
[Java] 프로그래머스_181858 : 무작위로 K개의 수 뽑기 (0) | 2023.09.12 |
---|---|
[Java] 프로그래머스_12935 : 제일 작은 수 제거하기 (0) | 2023.09.11 |
[Java] 프로그래머스_181913 : 문자열 여러 번 뒤집기 (0) | 2023.09.07 |
[Java] 프로그래머스_181921 : 배열 만들기 2 (0) | 2023.09.04 |
[Java] 프로그래머스_120840 : 구슬을 나누는 경우의 수 (0) | 2023.08.31 |