IT/Baekjoon Oline Judge
[BOJ] 14215번 - 세 막대
개발자희망생고롸파덕
2023. 9. 11. 19:32
사용언어 : javascript - node.js
#문제
#접근방법
삼각형에서 제일 긴 변의 길이가 나머지 두 변의 길이보다 작으면 삼각형이 된다.
만약에 위의 조건을 만족하지 않을 경우, 막대 길이를 늘리거나 줄여서 가장 큰 둘레를 구해야한다
그럼 얼마나 줄이고 얼마나 늘려야하나..? 고민해봤는데 제일 큰 변을 제외한 나머지 두 변의 길이의 합보다 -1만 작으면 최대 둘레가 된다. 굿.
#제출코드
const fs = require('fs');
const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt';
const arr = fs
.readFileSync(filePath)
.toString()
.trim()
.split(' ')
.map((item) => +item);
console.log(solution(arr));
function solution(arr) {
let answer = 0;
arr.sort((a, b) => a - b);
const a = arr[0];
const b = arr[1];
const c = arr[2];
if (c < a + b) {
answer = a + b + c;
} else {
answer = (a + b) * 2 - 1;
}
return answer;
}