-
해당 문제는 쉬울 거라 생각하고 문제를 풀었는데 생각보다 많이 틀렸던 문제다.
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
https://github.com/JUNGSOONIL/JAVA/blob/main/BAEKJOON%201246
GitHub - JUNGSOONIL/JAVA: JAVA 소스 코드
JAVA 소스 코드. Contribute to JUNGSOONIL/JAVA development by creating an account on GitHub.
github.com
해당 문제는 달걀을 판매할 때 최고 수익을 내는 측정 가격을 알아내는 문제다.
조건
총 N 개의 달걀과 M 개의 고객이 있다.
i 번째 고객은 달걀을 Pi 가격 이하로 살수 있다. (즉 A 가격에 달걀을 판매하면 Pi가 A보다 크거나 같아야 구매 가능)
한 고객은 두 개 이상의 달걀을 구매할 수 없다.
먼저 달걀과 고객의 수를 입력받고 이후 고객별 Pi를 입력받아 배열에 저장한 뒤 배열을 정렬해 준다.
사람이 달걀 개수보다 많을 경우에는 두 가지의 조건이 발생하는 데 달걀을 모두 판매하는 경우와 일부를 판매하는 경우이다.
모두 판매하는 경우 i 가 사람-달걀+1 작으면 모두 판매 가능하므로 달걀 개수만큼 곱하여 주고
그렇지 않을 경우 달걀을 -i 한 개수만큼 곱하여 준다.
사람이 달걀 개수보다 적을 경우에는 달걀 -i 한 개수만큼 곱하여 배열에 저장한다.
이후 배열에 저장된 값을 비교하여 최댓값을 찾고 가격과 최종 수익을 출력해 준다.
728x90'알고리즘 > Baekjoon' 카테고리의 다른 글
Baekjoon 1065 한수 JAVA (0) 2021.11.04 Baekjoon 1244 스위치 켜고 끄기 JAVA (0) 2021.11.04 Baekjoon 1010 다리 놓기 JAVA (0) 2021.11.04 Baekjoon 1094 막대기 JAVA (0) 2021.11.04 Baekjoon 1018 체스판 다시 칠하기 JAVA (0) 2021.11.04 댓글