Coding Test

삼각형의 완성조건 (1)

honey-vision 2024. 7. 6. 19:19

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

가장 긴 변의 길이는 다른 두 변의 길이의 합보다 작아야 합니다.
삼각형의 세 변의 길이가 담긴 배열 sides이 매개변수로 주어집니다. 세 변으로 삼각형을 만들 수 있다면 1, 만들 수 없다면 2를 return하도록 solution 함수를 완성해주세요.

 

가장 큰 변의 값(max) 보다 크거나 같으면 삼각형이 될 수 없고 그 이외는 삼각형이 될 수 있는 조건이다.

따라서, 주어진 배열의 값에서 가장 큰 값인 max를 먼저 찾는다.

max 값이 가장 끝에 올 수 있도록 만들고 인덱스 0번과 1번 값의 합보다 크거나 같을 경우 '2'를 반환하도록 한다.

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

// sides_len은 배열 sides의 길이입니다.
int solution(int sides[], size_t sides_len) {
    int answer = 0;
    int tmp = 0;
    for(int i=0; i<sides_len; i++){
        if(sides[i]>sides[i+1]){
            tmp = sides[i];
            sides[i] = sides[i+1];
            sides[i+1] = tmp;
        }
    }
    int max =0;
    max = sides[2];
    if(max>=sides[0]+sides[1])
        return 2;
    else
        return 1;
}

'Coding Test' 카테고리의 다른 글

문자 반복 출력하기  (0) 2024.07.08
세균 증식  (0) 2024.07.07
모음 제거  (0) 2024.07.05
배열의 유사도  (0) 2024.07.04
점의 위치 구하기  (0) 2024.07.03