728x90
문제 접근
1. 세 수를 받은 뒤 최댓값을 찾는다.
2. 반복문을 이용해서 최댓값이 아니라면 제곱한 값을 임시 변수에다가 더해준다.
3. 임시 변수와 최댓값의 제곱을 비교한다.
느낀점
처음에는 직관적으로 조건문을 이용해서 코드를 구현했지만 너무 코드가 길고 썩 좋은 방법이 아닌 것 같아서 다른 분들이 한 것을 참고했다. 나와 같은 방법도, or을 활용하는 방법도 있었지만 첫 코드를 작성하면서 같이 구상한 방법과 비슷한 코드를 찾아서 다시 한번 작성해봤다. 여러 알고리즘을 익힌 것 같았다.
코드
#include <stdio.h>
int main() {
while (1) {
int arr[3];
scanf("%d %d %d", &arr[0], &arr[1], &arr[2]);
if (arr[0] ==0 && arr[1] == 0 && arr[2] == 0) break;
int max = 0, tmp = 0;
for (int i = 0;i < 3;i++) {
if (arr[i] > max) max = arr[i];
}
for (int j = 0; j < 3;j++) {
if (arr[j] != max) tmp += arr[j] * arr[j];
}
if (tmp == max * max) printf("right\n");
else printf("wrong\n");
}
return 0;
}
'문제 풀이 > 백준(BOJ)' 카테고리의 다른 글
[C] 백준 1002번 : 터렛 (0) | 2021.03.23 |
---|---|
[C] 백준 3053번 : 택시 기하학 (0) | 2021.03.22 |
[C] 백준 3009번 : 네 번째 점 (0) | 2021.03.20 |
그 동안의 1일 1코딩 실천(2) (0) | 2021.03.19 |
[C] 백준 1085번 : 직사각형에서 탈출 (0) | 2021.03.19 |
댓글