Day6

[Day6]

1. 블랙잭

문제 링크: https://www.acmicpc.net/problem/2798

#include <iostream>
using namespace std;

int main(int argc, const char * argv[]) {
    int n, m;
    int input[101];
    int result;
    int temp;
    int min = 999999999;
    cin >> n >> m;
    for(int i=0; i<n; i++){
        cin >> input[i];
    }
    for(int i=0; i<n-2; i++){
        for(int j=i+1; j<n-1; j++){
            for(int k=j+1; k<n; k++){
                if(i!=j && j!=k && k!=i){
                    temp = input[i]+input[j]+input[k];
                    if(m-temp <=min && temp<=m){
                        min = m-temp;
                        result = temp;
                    }
                }
            }
        }
    }
    cout << result;
    return 0;
}

2. 단어 정렬

문제 링크: https://www.acmicpc.net/problem/1181

#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;

bool compare(string a, string b){
    if(a.length() == b.length()){
        if(a<b) return true;
        else{
            return false;
        }
    }
    else{
        if(a.length() < b.length()){
            return true;
        }
        else{
            return false;
        }
    }
}

int main(int argc, const char * argv[]) {
    int count;
    cin >> count;
    vector <string> input;
    string tmp;
    for(int i=0; i<count; i++){
        string in;
        cin >> in;
        input.push_back(in);
    }
    sort(input.begin(), input.end(), compare);

    for(int i=0; i<count; i++){
        if(tmp == input[i]){
            continue;
        }
        cout << input[i] << "\n";
        tmp = input[i];
    }
    return 0;
}

3. 듣보잡

문제 링크: https://www.acmicpc.net/problem/1764

#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;

int main(int argc, const char * argv[]) {
    int c1, c2;
    cin >> c1 >> c2;
    vector <string> input;
    string temp;
    for(int i=0; i<c1+c2; i++){
        cin >> temp;
        input.push_back(temp);
    }
    sort(input.begin(), input.end());

    vector <string> result;
    int count = 0;
    for(int i=0; i<c1+c2; i++){
        if(!input[i].compare(input[i+1])){
            result.push_back(input[i]);
            count++;
        }
    }

    cout << count << "\n";
    sort(result.begin(), result.end());
    for(int i=0; i<count; i++){
        cout << result[i] << "\n";
    }
    return 0;
}