문제
설날을 맞아 부대원들을 위해 특식으로 치킨을 주문했다.
후라이드 치킨, 간장치킨, 양념치킨을 각각 마리씩 주문했고, 1인당 치킨을 한 마리씩 배부하고자 한다.
최대한 많은 부대원에게 본인이 선호하는 종류의 치킨을 배부해주기 위해
으뜸병사는 부대원들의 치킨 종류 선호도를 조사했고,
세 가지 치킨 중 후라이드 치킨, 간장치킨, 양념치킨을 가장 선호하는 인원의 수는
각각 명, 명, 명이라는 것을 알아냈다.
이때, 모든 부대원은 각자 한 종류의 치킨만 골라 답했다.
본인이 가장 선호하는 종류의 치킨을 받을 수 있는 인원수의 최댓값을 구하여라.
https://www.acmicpc.net/problem/27110
입력
첫 번째 줄에 주문한 각 종류의 치킨 마릿수 이 주어진다. (1≤ N ≤1000)
두 번째 줄에 후라이드 치킨을 가장 선호하는 병사의 수 , 간장치킨을 가장 선호하는 병사의 수 , 양념치킨을 가장 선호하는 병사의 수 가 공백으로 구분되어 주어진다. (1≤ A, B, C ≤3000)
출력
본인이 가장 선호하는 종류의 치킨을 받을 수 있는 최대 인원수를 출력한다.
예제 입력 1
5
1 7 6
예제 출력 1
11
후라이드 치킨을 받고 싶어 하는 병사 1명과, 양념치킨과 간장치킨을 받고 싶어하는 병사 각각 5명씩
총 11명이 원하는 종류의 치킨을 받을 수 있다.
예제 입력 2
10
9 8 7
예제 출력 2
24
문제 풀이
N = int(input())
L = list(map(int,input().split()))
ans = 0
for i in range(3):
if L[i] <= N:
ans += L[i]
else:
ans += N
print(ans)
주어진 치킨 개수 N보다 적은 선호 인원이 적을 경우 선호 인원 모두 원하는 치킨을 받을 수 있으며,
선호 인원이 더 많을 경우 치킨 개수 N만큼의 인원이 원하는 치킨을 받을 수 있습니다.
해서 조건문을 활용하여 ans 변수에 값을 더하는 식으로 문제를 풀었습니다.
저처럼 파이썬을 독학하시는 분들에게 도움이 되길 바라며,
혹 더 좋은 방법이 있거나 오류가 있다면 편하게 말씀 부탁드립니다.