Algorithm/백준

[백준 알고리즘] 1246번: 온라인 판매 (Python)

에릭 Kim 2023. 8. 8. 11:26
반응형

https://www.acmicpc.net/problem/1246

 

1246번: 온라인 판매

첫째 줄에 정수 N(1 ≤ N ≤ 1,000)과 M(1 ≤ M ≤ 1,000)이 입력된다. 둘째 줄부터 M+1번째 줄까지 i+1번째 줄에는 Pi(1 ≤ Pi ≤ 1,000,000)가 입력된다.

www.acmicpc.net

 

 

소스코드

 

 

풀이

★ 문제를 읽으면서 주의해야 할 부분은 경례가 가지고 있는 달걀의 수(n)과 잠재 고객의 수(m)입니다 ! 

 

★ n이 항상 m보다 크다는 조건이 없고, 달걀 총 수량을 초과하여 판매할 수 없기 때문에 n과 m중 더 작은 값만큼만 반복문을 돌면 됩니다 ! 

 

★ 내림차순 정렬을 한 이유는 책정한 가격보다 구매자의 구매 의사 가격이 크거나 같을 경우 무조건 달걀을 판매할 수 있기 때문에, 책정 가격보다 낮은 경우를 만났을 때 그 이후로는 달걀을 판매할 수 없기 때문에 반복문을 마저 돌지 않고 break문으로 종료할 수 있기 때문입니다 ! (오름차순 정렬을 해서 풀어도 무방합니다)

 

★ 이렇게 반복문을 통해 책정한 금액과, 그 금액으로 인한 최대이익이 이전보다 크면, 값을 변경해주면서 답을 찾아나갑니다 !

 

반응형