문제설명
선분 세 개로 삼각형을 만들기 위해서는 다음과 같은 조건을 만족해야 합니다.
● 가장 긴 변의 길이는 다른 두 변의 길이의 합보다 작아야 합니다.
삼각형의 세 변의 길이가 담긴 배열 sides이 매개변수로 주어집니다. 세 변을오 삼각형을 만들 수 있다면 1, 만들 수 없다면 2를 return하도록 solution 함수를 완성해주세요
<제안사항>
1) sides의 원소는 자연수입니다.
2) sides의 길이는 3입니다.
3) 1 <= sides의 원소 <= 1,000
내가 직접 짠 코드
import java.util.*;
class Solution {
public int solution(int[] sides) {
int answer = 0;
Arrays.sort(sides);
if(sides[0]+ sides[1]>sides[2]) answer=1;
else answer=2;
return answer;
}
}
코드 해설
1) sides를 정렬 해주고
2) sides[0] (가장 작은 변) + sides[1] (두번째로 작은 변) > sides[2] (가장 긴 변)의 조건이 true이면
answer을 1로
3) 아니면 2를 return 해줬습니다!
다른 사람의 풀이
import java.util.Arrays;
class Solution {
public int solution(int[] sides) {
int answer = 0;
Arrays.sort(sides);
return sides[2] >= sides[0]+sides[1] ? 2 : 1;
}
}
이렇게 삼항연산자를 사용하여 코드의 길이를 줄일 수 있습니다
앞으로 삼항연산자에 대해 더욱 익숙해져봐야겠네요ㅠㅜㅠㅜ
'CodingTest' 카테고리의 다른 글
프로그래머스 - 자릿수 더하기 (JAVA) (0) | 2023.02.08 |
---|---|
프로그래머스 - 세균 증식 (JAVA) (0) | 2023.02.02 |
프로그래머스 - 배열 자르기(JAVA) (1) | 2023.02.02 |
프로그래머스 - 문자열 뒤집기 (JAVA) (0) | 2023.01.31 |
프로그래머스 - 나이 출력 (JAVA) (0) | 2023.01.31 |