본문 바로가기
개발로그/알고리즘

프로그래머스 Lv.0 삼각형의 완성조건

by 쩜징 2023. 7. 30.

프로그래머스 Lv.0 삼각형의 완성조건


선분 세 개로 삼각형을 만들기 위한 조건이 있다.

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

두 변의 길이가 담긴 sides배열이 주어진다.

나머지 한 변이 될 수 있는

정수의 개수를 return하라.

 

sides의 원소는 자연수이고, 길이는 2이다.

 

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

** 풀이 방법

 

1.주어진 선분 중에서 가장 긴 변이 있을 때

주어진 선분 중 긴 길이 - 나머지 길이 + 1

2. 주어진 길이보다 긴 변이 있을 때

주어진 선분들의 합 - 1

int a = Math.abs(sides[0] - sides[1]) + 1;
int b = (sides[0] + sides[1]) - 1;

 

두가지 조건에서 나머지 변의 범위가 나온다.

a부터 b의 개수를 세기 위해반복문을 돌려서 answer를 1씩 증가시킨다.

for (int i=a; i<=b; i++) {
    answer++;
}

 

<> 전체 코드 </>

class Solution {
    public int solution(int[] sides) {
        int answer = 0;
        int a = Math.abs(sides[0] - sides[1]) + 1;
        int b = (sides[0] + sides[1]) - 1;

        for (int i=a; i<=b; i++) {
            answer++;
        }
        return answer;
    }
}

반응형

댓글