728x90
반응형
문제풀이 GitHub
https://github.com/Seokii/baekjoon
문제 링크
https://www.acmicpc.net/problem/5046
풀이
n,b,h,w = map(int, input().split())
answer = []
for _ in range(h):
p = int(input())
a = list(map(int, input().split()))
if max(a) >= n and b >= p*n:
answer.append(p*n)
if len(answer) == 0:
print("stay home")
else:
print(min(answer))
받아오는 변수가 많아서 헷갈리지만, 간단한 문제입니다.
호텔의 수만큼 반복해 가격과 인원 정보를 받아와 조건문으로 해결했습니다.
answer 리스트를 선언해서 숙박 예정 인원보다 투숙 가능한 인원 리스트에서 더 큰 수가 하나라도 있으며, 그에 따라 계산했을 때 예산을 넘어가지 않는다면, answer 리스트에 가능한 가격을 모두 넣었습니다.
그리고 마지막에 리스트가 비어 있다면 "stay home"을 출력하고,
리스트에 하나라도 원소가 있다면, 최솟값을 불러 출력했습니다.
728x90
반응형
'알고리즘 정복하기! > 백준 문제풀이' 카테고리의 다른 글
백준 6796번 Python / 구현, 시뮬레이션 (0) | 2022.03.04 |
---|---|
백준 11508번 Python / Greedy (0) | 2022.03.04 |
백준 11123번 Python / DFS (0) | 2022.03.01 |
백준 11501번 Python / Greedy (0) | 2022.02.28 |
백준 1461번 Python / Greedy (0) | 2022.02.26 |
댓글