[프로그래머스 / C++] 삼각형의 완성조건 (2)

YH·2023년 7월 18일
0

문제

삼각형의 완성조건 (2) : 문제 링크


문제 분석

  • 선분 세 개로 삼각형을 만들기 위해서는 '가장 긴 변의 길이는 다른 두 변의 길이의 합보다 작아야 한다.'는 조건을 만족해야 한다.
  • 삼각형의 두 변의 길이가 담긴 배열 sides이 매개변수로 주어진다. 나머지 한 변이 될 수 있는 정수의 개수를 return
  • small, big 변수에 sides[0]를 저장한 후에 삼항연산자를 통해 둘 중 작은값은 small, 큰 값은 big에 저장
  • 첫 번째 for문은 가장 긴 변이 big인 경우, 두 번째 for문은 나머지 한 변이 가장 긴 변의 경우에 answer을 1씩 늘린다.

삼항연산자 사용법
조건식 ? 반환값1 : 반환값2
=> 물음표(?) 앞의 조건식에 따라 결괏값이 참이면 반환값1을, 거짓이면 반환값2를 반환


풀이

#include <vector>

using namespace std;

int solution(vector<int> sides) {
    int answer = 0;
    int small = sides[0];
    int big = sides[0];
    
    small = (small < sides[1]) ? small : sides[1];
    big = (big > sides[1]) ? big : sides[1];
    for(int i = big - small; i < big; ++i) answer += 1;
    for(int j = big + 1; j < small + big; ++j) answer += 1;
    return answer;
}
profile
Keep Recycling Your Dreams

0개의 댓글