처음부터 시작하는 Java
  • 삼각형의 완성조건 (2)
    2022년 12월 02일 16시 09분 08초에 업로드 된 글입니다.
    작성자: 원2
    728x90
    반응형

    문제 설명

    선분 세 개로 삼각형을 만들기 위해서는 다음과 같은 조건을 만족해야 합니다.

    • 가장 긴 변의 길이는 다른 두 변의 길이의 합보다 작아야 합니다.

    삼각형의 두 변의 길이가 담긴 배열 sides이 매개변수로 주어집니다. 나머지 한 변이 될 수 있는 정수의 개수를 return하도록 solution 함수를 완성해주세요.

     

    제한사항

    • sides의 원소는 자연수입니다.
    • sides의 길이는 2입니다.
    • 1 ≤ sides의 원소 ≤ 1,000

    입출력 예

    sidesresult

    [1, 2] 1
    [3, 6] 5
    [11, 7] 13

    입출력 예 설명

    입출력 예 #1

    • 두 변이 1, 2 인 경우 삼각형을 완성시키려면 나머지 한 변이 2여야 합니다. 따라서 1을 return합니다.

    입출력 예 #2

    • 가장 긴 변이 6인 경우
      • 될 수 있는 나머지 한 변은 4, 5, 6 로 3개입니다.
    • 나머지 한 변이 가장 긴 변인 경우
      • 될 수 있는 한 변은 7, 8 로 2개입니다.
    • 따라서 3 + 2 = 5를 return합니다.

    입출력 예 #3

    • 가장 긴 변이 11인 경우
      • 될 수 있는 나머지 한 변은 5, 6, 7, 8, 9, 10, 11 로 7개입니다.
    • 나머지 한 변이 가장 긴 변인 경우
      • 될 수 있는 한 변은 12, 13, 14, 15, 16, 17 로 6개입니다.
    • 따라서 7 + 6 = 13을 return합니다.
    import java.util.*;
    class Solution {
        public int solution(int[] sides) {
            
            int others = Arrays.stream(sides).sum() - 1;
            int anOthers = Arrays.stream(sides).max().getAsInt();
            
            int res1 = others - anOthers;
            
            int res2 = 0;
            for (int i = anOthers; i <= others; i++ ) {
                res2++;
            }
            
            int answer = res1 + res2;
            return answer;
        }
    }
    728x90
    반응형

    '알고리즘 > 프로그래머스' 카테고리의 다른 글

    정수 내림차순으로 배치하기  (0) 2023.02.16
    저주의 숫자 3  (0) 2023.02.14
    푸드 파이트 대회  (0) 2023.02.14
    다음에 올 숫자  (0) 2023.02.14
    컨트롤제트  (0) 2022.12.02
    캐릭터의 좌표  (0) 2022.12.02
    댓글