전체 코드
#include <iostream>
int main()
{
int n1, n2, n3, price;
std::cin >> n1 >> n2 >> n3;
if (n1 == n2 && n2 == n3)
price = 10000 + n1 * 1000;
else if (n1 == n2)
{
price = 1000 + n1 * 100;
}
else if (n1 == n3)
{
price = 1000 + n1 * 100;
}
else if (n2 == n3)
{
price = 1000 + n2 * 100;
}
else
{
int max = n1 > n2 ? (n1 > n3 ? n1 : n3) : (n2 > n3 ? n2 : n3);
price = max * 100;
}
std::cout << price;
}
풀이
- n1==n2 이고 n2==n3인 경우(자동적으로 n1==n2==n3, 즉 3개다 같은 경우가 됨) price 설정
- n1, n2, n3중 어느것이든 상관 없음
if (n1 == n2 && n2 == n3)
price = 10000 + n1 * 1000;
- 2개의 항목이 같은 경우
- 3개다 같은 경우는 위의 if문에서 걸러짐
- 곱하는 값은 같은 두수에 해당한다면 어떤 n이든 상관 없음
else if (n1 == n2)
{
price = 1000 + n1 * 100;
}
else if (n1 == n3)
{
price = 1000 + n1 * 100;
}
else if (n2 == n3)
{
price = 1000 + n2 * 100;
}
- 나머지 경우(3개다 같지 않은 경우)
- 삼항연산자로 max값 반환함. 큰 값의 변수쪽을 max에 넣도록 설정
- max값에 100 곱함
else
{
int max = n1 > n2 ? (n1 > n3 ? n1 : n3) : (n2 > n3 ? n2 : n3);
price = max * 100;
}
'백준 단계별로 풀어보기(C++) > 2)조건문' 카테고리의 다른 글
백준 2525) 오븐 시계 (C++) (0) | 2023.03.09 |
---|---|
백준 2884) 알람 시계 (C++) (0) | 2023.03.09 |
백준 14681) 사분면 고르기 (C++) (0) | 2023.03.09 |
백준 2753) 윤년 (C++) (0) | 2023.03.08 |
백준 9498) 시험 성적 (C++) (0) | 2023.03.08 |