728x90
[백준알고리즘] 4153번: 직각삼각형 -C++
저번과 마찬가지로 while의
조건문 안에서 cin
을 통해서 입력을 받았다.
std::cin
은 istream
객체를 return 하지만 if
와 while
의 조건문 안에서는 bool
을 return 하게 된다.
istream
이 아닌 현재 상태에 따라 좋은 입력 상태일 경우 true
를 return 하며 좋지 않은 입력 상태일 경우 false
를 return한다.
<algorithm>
헤더의 sort
를 사용해 입력 값을 정렬시켜주었다.
이때 최댓값이 0이라면 모든 입력된 변의 길이가 \(0\) 인 것이기 때문에 종료를 하게 된다.
모든 값이 \(0\) 이 아니라면, 피타고라스의 정리를 이용해서 직각삼각형 여부를 판단한다.
판단 결과로 \(result\)에 출력 string을 저장한 뒤 출력한다.
#include <iostream>
#include <vector>
#include <algorithm>
void solve(void);
int main(void)
{
solve();
}
void solve(void)
{
std::vector<int> side(3);
while (std::cin >> side[0] >> side[1] >> side[2])
{
std::sort(side.begin(), side.end());
if (side[2] == 0) break;
std::string result;
result = side[0] * side[0] + side[1] * side[1] == side[2] * side[2] ? "right" : "wrong";
std::cout << result << std::endl;
}
}
잘못된 점이나 부족한 점 지적해주시면 감사하겠습니다
728x90
'algorithm > 백준알고리즘' 카테고리의 다른 글
[백준알고리즘] 1002번: 터렛 -Python, C++ (0) | 2021.01.19 |
---|---|
[백준알고리즘] 3053번: 택시 기하학 -Python, C++ (0) | 2021.01.19 |
[백준알고리즘] 1085번: 직사각형에서 탈출 -C++ (0) | 2021.01.18 |
[백준알고리즘] 9020번: 골드바흐의 추측 -C++ (0) | 2021.01.18 |
[백준알고리즘] 4948번: 베르트랑 공준 -C++ (0) | 2021.01.18 |