[백준] 4153 직각삼각형 Node.js

Janet·2023년 11월 7일
0

Algorithm

목록 보기
286/314

문제

과거 이집트인들은 각 변들의 길이가 3, 4, 5인 삼각형이 직각 삼각형인것을 알아냈다. 주어진 세변의 길이로 삼각형이 직각인지 아닌지 구분하시오.

입력

입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다.

출력

각 입력에 대해 직각 삼각형이 맞다면 "right", 아니라면 "wrong"을 출력한다.

예제 입력 1

6 8 10
25 52 60
5 12 13
0 0 0

예제 출력 1

right
wrong
right

문제풀이

  • 피타고라스의 정리 공식으로, 빗면의 제곱 = 나머지 두 변의 제곱의 합
  • 즉 세 변의 길이 중에 가장 긴 변의 제곱이 나머지 두 변의 제곱의 합이다.
const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt';
const input = require('fs').readFileSync(filePath).toString().trim().split('\n');
const result = [];
for (let i = 0; i < input.length - 1; i++) {
  const arr = input[i].split(' ').map(Number).sort((a, b) => b - a);
  result.push(solution(arr));
}

function solution(arr) {
  if (arr[0] ** 2 === arr[1] ** 2 + arr[2] ** 2) {
    return 'right';
  } else return 'wrong';
}

console.log(result.join('\n'));
profile
😸

0개의 댓글