📌문제예제 3-3 숫자 카드 게임여러 개의 숫자 카드 중에서 가장 높은 숫자가 쓰인 카드 한 장을 뽑는 게임1. 숫자 카드가 N x M 형태로 놓여 있다. N은 행의 개수, M은 열의 개수를 의미2. 먼저 뽑고자 하는 카드의 행을 선택한다.3. 선택된 행의 카드들 중 가장 숫자가 낮은 카드를 뽑아야 한다. 📌풀이각 행마다 가장 작은 수를 찾은 뒤 그 중에서 가장 큰 수를 선택하는 방법 min 함수를 사용해서 각 행마다 가장 작은 숫자를 찾아냄이전 행에서 가장 작은 수와 현재 행에서 가장 작은 수를 비교해서 둘 중에 큰 값을 선택 📌코드n, m = map(int, input().split())result = 0# 한 줄씩 입력받아 확인for i in range(n): data = list(map..
📌문제예제 3-2 큰 수의 법칙다양한 수로 이루어진 배열이 있을 때 주어진 수들을 M번 더하여 가장 큰 수를 만들어라. 단, 배열의 특정한 인덱스에 해당하는 수가 연속해서 K번을 초과하여 더해질 수 없는 것이 이 법칙의 특징이다. 배열의 크기 N, 숫자가 더해지는 횟수 M, 연속해서 더할 수 있는 최대 횟수 K 📌풀이 1(단순한 방법)가장 큰 수와 두 번째 큰 수만 저장가장 큰 수를 K번(연속으로 더할 수 있는 최대 횟수) + 두 번째 큰 수 1번 + ... 반복 📌코드 1# N, M, K를 공백으로 구분하여 입력받기n, m, k = map(int, input().split())# N개의 수를 공백으로 구분하여 입력받기data = list(map(int, input().split()))data.so..
📌그리디 알고리즘그리디 알고리즘 = 탐욕법현재 상황에서 지금 당장 좋은 것만 고르는 방법 기준에 따라 좋은 것을 선택하는 알고리즘이므로 '가장 큰 순서대로', '가장 작은 순서대로' 같은 기준을 문제에서 제시해준다. 정렬 알고리즘과 짝을 이뤄 자주 출제된다. 📌문제예제 3-1 거스름돈당신은 음식점의 계산을 도와주는 점원이다. 카운터에는 거스름돈으로 사용할 500원, 100원, 50원, 10원짜리 동전이 무한히 존재한다고 가정한다. 손님에게 거슬러 줘야 할 돈이 N원일 때 거슬러 줘야 할 동전의 최소 개수를 구하라. 단, 거슬러 줘야 할 돈 N은 항상 10의 배수이다. 📌풀이'가장 큰 화폐 단위부터' 돈을 거슬러 준다.500원짜리 N개 → 100원짜리 N개 → 50원짜리 N개 → 10원짜리 N개 📌..