백준[11399] ATM 해당 문제도 앞선 그리디 백준 문제들을 풀었다면 쉽게 풀 수 있는 문제이다. □ 소스코드 #include void ATM(){ int n; cin >> n; vector v; //입력받는 구문 for(int i=0;i>input; v.push_back(input); } // 오름차순으로 정렬 sort(v.begin(), v.end()); // 각 사람이 기다리는 시간 저장 for(int i=0;i 알고리즘/Greedy 2023.01.05
백준[1931] 회의실 배정 해당 문제를 풀기 위해서 회의가 끝나는 시간들을 기준으로 오름차순 정렬을 한다. 가장 첫 번째 회의를 선택하여 계산을 진행하면 가장 많은 회의를 선택할 수 있다. □ 소스코드 #include // 회의가 끝나는 시간을 기준으로 오름차순 정렬하는 함수 bool sorting(pair p1, pair p2) { // compare 함수 if (p1.second == p2.second) { return p1.first > n; vector v; // 입력받는 구문 for(int i=0;i> start >> end; v.push_back(make_pair(start, end.. 알고리즘/Greedy 2023.01.05
백준[11047] 코인0 전통적인 그리디 알고리즘 문제이다. □ 소스코드 #include void coinZero(){ int n,k; cin>>n>>k; vector v; for(int i=0;i>input; v.push_back(input); } int count = n; int result = 0; while(count>0){ result += k / v[count-1]; k = k % v[count-1]; count--; } cout 알고리즘/Greedy 2023.01.05
1이 될때 까지 □ 내가 작성한 소스코드 #include void untilOne(){ int n,k; cin>>n>>k; int count = 0;// 나누어지는 횟수 while (n > 1){//1초과인 경우만 반복 if( n % k == 0){// n이 k로 나누어 떨어질 때만 실행 n = n/k; count++; } else{//위의 상황이 아닌 경우 1씩 감소 n--; count++; } } cout 알고리즘/Greedy 2023.01.05
숫자 카드 게임 □ 내가 작성한 소스코드 void numberCardGame(){ int n,m; int max = 0;//행들의 가장 작은 값들 중 가장 큰 값 cin>> n>>m; for(int i=0;i input; minInRow = min(minInRow,input); } // 행에서 가장 작은 값들 중 가장 큰 값을 찾는 구문 if( max < minInRow){ max = minInRow; } } cout 알고리즘/Greedy 2023.01.05
큰 수의 법칙 해당 문제는 C++을 사용하여 코딩합니다. □ 내가 작성한 소스코드 #include void bigNum() { int N, M, K; vector v; int sum = 0; //입력 받는 부분 cin>> N >> M >> K; for(int i=0;i> x; v.push_back(x); } sort(v.begin(),v.end()); //입력받은 수 정렬 int max = v[N-1]; //가장 큰수 int secondMax = v[N-2]; //두번째로 큰 수 int k = K; while ( M > 0 ){ if(k!=0) // 가장 큰 수 반복하는 경우 sum += max; if(k == 0){ // 연속하는 횟수가 모두 소진된 경우 k = K; sum += secondMax; //두번째로 큰 .. 알고리즘/Greedy 2023.01.04