본문 바로가기

분류 전체보기32

03 그리디 : 큰 수의 법칙 난이도 : 1/3 풀이시간 : 30min 제한시간 : 1sec 메모리 제한 : 128MB 기출 : 2019 국가 교육기관 코딩 테스트 큰수의 법칙은 통계분야에서 다루어지는 내용이지만 동빈이는 본인만의 방식으로 사용하고 있음 동빈이의 큰 수의 법칙은 다양한 수로 이루어진 배열이 있을때 주어진수들을 M번 더하여 가장 큰 수를 만드는 법칙를 따름. 단 배열의 특정한 인덱스에 해당하는 수가 연속해서 K번을 더할 수 없는 것이 이 법칙의 특징임. 예를 들어서 2 4 5 4 6으로 이루어진 배열이 있을때, M이 8이고 K가 3이라고 가정할 경우 8개의 덧셈연산을 가장 큰값이 3회 연속 더해질 수 없기 때문에 6 + 6 + 6 + 5 + 6 + 6 + 6 + 5로 총 46값을 가지게 된다. 만약 3 4 3 4 3 이.. 2023. 5. 14.
03그리디 : 예제 3-1 거스름돈 당신은 음식점의 계산을 도와주는 점원이다. 카운터에는 거스름돈으로 500, 100, 50, 10원 동전이 부한히 존재한다고 가정한다. 손님에게 거슬러 줘야 할 돈이 N원일때 거슬러 줘야할 최소 동전의 갯수를 구하라. 단, 거슬러 줘야할 돈 N은 항상 10의 배수이다. c++로 푼 결과물 #include using namespace std; int main() { int input, count = 0; cin >> input; for(int i = input; i > 0;) { if (i >= 500) { i -= 500; } else if (i >= 100) { i -= 100; } else if (i >= 50) { i -= 50; } else if (i >= 10) { i -= 10; } else {.. 2023. 5. 14.
10872 팩토리얼 10872 팩토리얼 https://www.acmicpc.net/problem/10872 N이 주어지고 N!를 출력하면 된다. #include using namespace std; int main() { int num, value = 1; cin >> num; for(int i = num; i > 0; i--) { value *= i; } cout 2022. 9. 28.
1427 소트인사이트 1427 소트인사이트 https://www.acmicpc.net/problem/1427 N개의 숫자 나열이 주어진다. 해당 값을 내림차순으로 정렬하여 출력하면 된다. 숫자 나열을 받고 그것을 to_string으로 변환한 다음 그것을 sorting 하되 내림차순으로 정렬한 후 다시 문자열을 출력하면 된다. #include #include using namespace std; int main() { string str; int num; cin >> num; str = to_string(num); sort(str.begin(), str.end(), greater()); cout 2022. 9. 28.