문제 - 세 개의 정수를 받아서 가장 큰 수를 반환하고 가장 작은 수를 반환하라
제한 - 없음
#include <stdio.h>
int max(int a, int b, int c){
if(a>b){
return (a>c) ? a : c;
}else{
return (b>c) ? b : c;
}
}
int min (int a, int b, int c){
if(a<b){
return (a<c) ? a : b;
}else{
return (b<c) ? b : c;
}
}
int main(){
int a,b,c;
scanf("%d %d %d", &a,&b,&c);
printf("max %d \n", max(a,b,c));
printf("min %d \n", min(a,b,c));
return 0;
}
팁 - a,b,c 중에 a가 가장 큰가를 구한 이후에 b와c를 비교하여 둘중 큰 것을 반환한다.
실질적으로 첫번째 조건연산자는 a가 가장 큰지만 비교함
두번째 조건연산자는 a가 가장 크지 않기 때문에 b와 c 중에 큰 수를 반환함
'알고리즘' 카테고리의 다른 글
[알고리즘] 소수 구하기 (0) | 2019.12.04 |
---|---|
[알고리즘] 최대 공약수, 최소공배수 구하기 (0) | 2019.12.04 |
[알고리즘] 삼각형 별찍기 문제 (0) | 2019.12.04 |
[알고리즘] 피보나치 수열 (0) | 2019.12.04 |
[알고리즘] while문 중첩 문제 (0) | 2019.12.04 |