문제 설명
선분 세 개로 삼각형을 만들기 위해서는 다음과 같은 조건을 만족해야 합니다.
가장 긴 변의 길이는 다른 두 변의 길이의 합보다 작아야 합니다.
삼각형의 세 변의 길이가 담긴 배열 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 |