본문 바로가기

Algorithm/BOJ 기초

[백준] 주사위 세개 2480 Python C++

Python

1
2
3
4
5
6
7
8
9
10
11
12
13
14
a = list(map(int, input().strip().split()))
 
if a[0] == a[1] == a[2]:
    print(10000+(a[0]*1000))
elif a.count(a[0]) == 2 or a.count(a[1]) == 2 or a.count(a[2]) == 2:
    if a.count(a[0]) == 2:
        print(1000 + (a[0] * 100))
    elif a.count(a[1]) == 2:
        print(1000 + (a[1] * 100))
    elif a.count(a[2]) == 2:
        print(1000 + (a[2] * 100))
else:
    print(max(a)*100)
 
cs

C++

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
 
int main() {
 
    int a[3];
    cin >> a[0>> a[1>> a[2];
    
    int length = sizeof(a) / 4;
    
    // count(arr, arr + arrlength, '1')
    // 배열 arr 부터 arr 끝까지 '1'의 갯수 리턴은 int 형
    int count_1 = count(a, a + length, a[0]); int count_2 = count(a, a + length, a[1]); int count_3 = count(a, a + length, a[2]);
 
    if (a[0== a[1&& a[1== a[2&& a[2== a[0])
        cout << 10000 + (a[0* 1000<< '\n';
    
    else if (count_1 == 2 || count_2 == 2 || count_3 == 2)
        if (count_1 == 2)
            cout << 1000 + (a[0* 100<< '\n';
        else if (count_2 == 2)
            cout << 1000 + (a[1* 100<< '\n';
        else
            cout << 1000 + (a[2* 100<< '\n';
 
    else
        cout << max(max(a[0], a[1]), a[2])*100 << '\n';
    return 0;
}
 
cs