Develop/Coding Test 2

[Python] 큰 수의 법칙 (Greedy)

문제설명다양한 수로 이루어진 배열이 있을 때 주어진 수들을 m번 더하되 배열의 인덱스에 해당하는 수가 연속해서 k번을 초과하지 않고 가장 큰 수를 만드는 법칙을 '큰 수의 법칙' 으로 정의할때, 배열의 크기 n, 숫자가 더해지는 횟수 m, 그리고 k가 주어질 때 큰 수의 법칙에 따른 결과를 출력하시오. 입력조건첫째 줄에 n(2 둘째 줄에 n개의 자연수가 주어진다. 각 자연수는 공백으로 구분한다. 단, 각각의 자연수는 1 이상 10,000 이하의 수로 주어진다.입력으로 주어지는 k는 항상 m보다 작거나 같다 문제풀이우선 가장 먼저 알아채야 할 사항은 가장 큰 수를 k번 만큼 더한다음 이후 두번재 큰수를 한번만 더해주면 다시 첫번째 큰 수를 더해줄 수 있다. 따라서 몇개의 값을 입력받든 첫번째와, 두번째 큰..

Develop/Coding Test 2024.06.02

[Python] 거스름돈 _ 코딩 테스트 (Greedy)

문제 설명카운터에 거스름돈으로 사용할 500원, 100원, 50원, 10원짜리 동전이 있고 이 동전의 수는 무한히 존재한다.손님에게 거슬러 줘야 할 돈이 N원일 때 거슬러 줘야 할 동전의 최소 개수를 구하라. 단, 거슬러 주어야 할 돈 N은 항상 10의 배수이다. 문제 해설이 문제는 그리디 알고리즘을 이용하여 풀 수 있는 대표적인 문제이다.거슬러 주어야 할 동전의 최소 개수 이므로 가장 큰 단위의 거스름 돈 먼저 적용하여 작은 단위의 거스름돈으로 순차적으로 내려가면서 카운트를 세는 단순한 과정의 풀이방법을 적용하면 풀 수 있다. 문제 풀이# 거스름돈 입력 받기n = int(input("거스름돈 : "))# 받는 횟수 변수 선언count = 0# 거스름돈 타입 설정coin_type = [500, 100, ..

Develop/Coding Test 2024.06.01