1) 문제: 2480. 주사위 세개

2) 나의 첫 풀이
우선 3개의 숫자를 입력받고, 추후에 경우를 나누어 해당 케이스에서 연산을 하는 방법을 떠올렸다.
- 3개의 숫자를 입력 받는다.
- 같은 눈이 3개 나오는 경우
- 해당 눈을 활용한 계산
- 같은 눈이 2개 나오는 경우
- 2개 나온 눈을 활용한 계산
- 모두 다른 눈이 나오는 경우
- 가장 큰 눈을 활용한 계산
#include <iostream>
using namespace std;
int main()
{
int a, b, c;
cin >> a >> b >> c;
if(a==b && b==c) // a, b, c 모두 같은 경우
cout << 1000 + a*1000;
else if(a==b && a!=c) // a와 b는 같고 c는 다른 경우
cout << 1000 + a*100;
else if(a==c && a!=b) // a와 c는 같고 b는 다른 경우
cout << 1000 + a*100;
else if(b==c && b!=a) // b와 c는 같고 a는 다른 경우
cout << 1000 + a*100;
else
cout << max({a,b,c}) * 100;
}
4) 배운 점: max()
else
cout << max({a,b,c}) * 100;
max() 함수를 활용하면 일일이 비교하지 않아도 가장 큰 값을 구할 수 있다.
위의 코드에서는 max( { } )의 형태로 활용되어 a, b, c 중 가장 큰 값을 구하고 있다.
두 개의 수를 비교할 때에는 위에서 사용한 것과 달리 중괄호 { }를 사용하지 않아도 된다.
단순히 max(1,10)을 작성하면 결과는 10을 준다. 하지만 3개 이상의 수를 비교할 때는 중괄호 { }를 사용하여 비교하면 된다.
반대로 작은 값을 얻고자 할 때에는 max()가 아닌, min()을 활용하여 가장 작은 값을 구할 수 있다.
마찬가지로 해당 함수는 #include <algorithm> 알고리즘 헤더 파일에 포함된다.
'Computer Science > PS' 카테고리의 다른 글
| [PS] 2490. 윷놀이 (2) | 2023.12.11 |
|---|---|
| [PS] 12월 1주차 복습 (1) | 2023.12.10 |
| [PS] 2752. 세수정렬 (0) | 2023.12.10 |
| [PS] 10871. X보다 작은 수 (0) | 2023.12.10 |
| [PS] 27866. 문자와 문자열 (0) | 2023.12.10 |