[백준 알고리즘] Node.js 14215. 세 막대

2023. 5. 13. 13:18코딩연습

1. 문제

https://www.acmicpc.net/problem/14215

 

14215번: 세 막대

첫째 줄에 a, b, c (1 ≤ a, b, c ≤ 100)가 주어진다.

www.acmicpc.net

 

2. 풀이

- 세 막대를 이용하여 가장 큰 삼각형의 둘레를 구하는 문제이다. 세 변의 길이를 이용하여 삼각형을 만들 수 있는 조건은

' 가장 긴 변의 길이가 나머지 두 변의 길이의 합보다 작아야한다. ' 를 이용하면 된다.

 

const [a,b,c] = require('fs').readFileSync('/dev/stdin').toString()
				.trim().split(' ').map(Number).sort((a,b) => a-b);
console.log(`${a+b+Math.min(c, a+b-1)}`);

- sort()로 오름차순 정렬하여 가장 긴 변의 길이를 c 로 두고, c 와 (나머지 두 변의 길이의 합 - 1) 의 값과 비교하여 더 작은 값을 뽑아내고 a와 b의 값과 더하면 되는 문제였다.