언젠가는 펼쳐 볼 아카이브
[BOJ] 14215번 - 세 막대 본문
사용언어 : 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;
}
'IT > Baekjoon Oline Judge' 카테고리의 다른 글
[BOJ] 24263번 - 알고리즘 수업 (알고리즘의 수행 시간2) (0) | 2023.09.20 |
---|---|
[BOJ] 24262번 - 알고리즘 수업 (알고리즘의 수행 시간1) (0) | 2023.09.20 |
[BOJ] 5073번 - 삼각형과 세 변 (0) | 2023.09.11 |
[BOJ] 10101번 - 삼각형 외우기 (0) | 2023.09.11 |
[BOJ] 9063번 - 대지 (0) | 2023.09.11 |