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
#include <iostream>
#include <algorithm>
using namespace std;
 
int main() {
    int N;        cin >> N;
    int rope[100000];
    for (int i = 0; i < N; i++)
        cin >> rope[i];
    sort(rope, rope + N);
    
    int max = rope[N - 1];
    int w = 0;
    
    for (int i = 1; i <= N; i++) {  //1개부터 N개까지 로프 사용하는 경우 따져보기
    
            w = rope[N - i] * i;  //가장 가벼운 무게*i 
        
        if (w > max)
            max = w;
    }
 
    cout << max << endl;
}
 
cs

'Member > 다은' 카테고리의 다른 글

[백준]1059_수2  (0) 2019.07.19
[백준]1065_한수  (0) 2019.07.19
[코드업]1411_빠진카드  (0) 2019.07.16
[백준]11047_동전0  (0) 2019.07.16
[코드업]3120_리모컨(시간초과)  (0) 2019.07.16
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
33
34
35
#include <iostream>
using namespace std;
 
int main() {
    int L;        cin >> L;
    int lucky_set[50];
    for (int i = 0; i < L; i++)
        cin >> lucky_set[i];
    int N;        cin >> N;가
 
    for (int i = 0; i < L; i++) {   //N이 lucky set집합 안에 있을 경우 종료
        if (lucky_set[i] == N) {
            cout << "0" << endl;
            return 0;
        }
    }
 
    int left = 0, right = 1000;
    for (int i = 0; i < L; i++) {
        if (N - lucky_set[i] > 0 && N - lucky_set[i] < N - left) {  //수직선 상 N과 가장 가까운 왼쪽 lucky set
                left = lucky_set[i];
        }
        else if (N - lucky_set[i] < 0 &&  N - lucky_set[i] > N - right) { //수직선 상 N과 가장 가까운 오른쪽 lucky set
                right = lucky_set[i];
        }        
    }
 
    int count = 0;
    for (int i = left + 1; i <= N; i++) {     //N과 가장 가까운 lucky set 사이 에서 N포함된 범위 카운트
        for (int j = right - 1; j >= N; j--) {
            count++;
        }
    }
    cout << count - 1;     //[i,j]에서 i=j인 경우 
}
cs

'Member > 다은' 카테고리의 다른 글

[백준]2217_로프  (0) 2019.07.19
[백준]1065_한수  (0) 2019.07.19
[코드업]1411_빠진카드  (0) 2019.07.16
[백준]11047_동전0  (0) 2019.07.16
[코드업]3120_리모컨(시간초과)  (0) 2019.07.16
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
using namespace std;
 
int main() {
    int N;    cin >> N;
    int count = 0;
 
    if (N < 100) count = N;  //1의 자리와 10의 자리는 모두 등차수열(한수)
 
    else if (N >= 100 && N <= 1000) {
        int a, b, c;//100의 자리,10의 자리,1의 자리
 
        for (int i = 100; i <= N; i++) {
            a = i / 100;
            b = (i - a * 100/ 10;
            c = i - (a * 100 + b * 10);
 
            if (a - b == b - c) //각 자리 수의 차가 동일하면 
                count++;
        }
        count += 99;         //1의 자리와 10의 자리 개수 더해주기
    }
    cout << count << endl;
}
cs

'Member > 다은' 카테고리의 다른 글

[백준]2217_로프  (0) 2019.07.19
[백준]1059_수2  (0) 2019.07.19
[코드업]1411_빠진카드  (0) 2019.07.16
[백준]11047_동전0  (0) 2019.07.16
[코드업]3120_리모컨(시간초과)  (0) 2019.07.16
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <algorithm>
using namespace std;
 
int main() {
    int N;
    cin >> N;
    int card[50];
 
    for (int i = 0; i < N-1; i++)
        cin >> card[i];
    sort(card, card + N - 1); //오름차순으로 정렬
 
    for (int i = 0; i < N; i++) {
        if (card[i] != i + 1) {
            cout << i + 1;
            break;
        }
    }    
}
cs

'Member > 다은' 카테고리의 다른 글

[백준]1059_수2  (0) 2019.07.19
[백준]1065_한수  (0) 2019.07.19
[백준]11047_동전0  (0) 2019.07.16
[코드업]3120_리모컨(시간초과)  (0) 2019.07.16
[백준]1145_적어도 대부분의 배수  (0) 2019.07.12
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std;
 
int main() {
    int N, K;
    int coin[10];
 
    cin >> N >> K;
    for (int i = 0; i < N; i++)
        cin >> coin[i];
 
    int count = 0;
    while (K != 0) {
        if (K >= coin[N - 1]) {
            K -= coin[N - 1]; //큰 액수 동전부터 비교
            count++;
        }
        else
            N--;              //없으면 다음으로 큰 동전과 비교
    }
    cout << count << endl;
}
cs

'Member > 다은' 카테고리의 다른 글

[백준]1065_한수  (0) 2019.07.19
[코드업]1411_빠진카드  (0) 2019.07.16
[코드업]3120_리모컨(시간초과)  (0) 2019.07.16
[백준]1145_적어도 대부분의 배수  (0) 2019.07.12
[백준]1019_책페이지 (시간초과)  (0) 2019.07.12

+ Recent posts