[백준] 1246번 온라인 판매

거북이·2023년 1월 16일
0

백준[실버4]

목록 보기
63/91
post-thumbnail

💡문제접근1

처음엔 되게 쉬운 문제라고 생각하고 바로 코드를 작성해서 테스트케이스와 똑같이 나와서 금방 가겠구나 했는데 WA를 받아서 정말 당황스러웠다.

💡코드1

N, M = map(int, input().split())
egg_price = []
for _ in range(M):
    egg_price.append(int(input()))

egg_price.sort()
li = []
for i in range(len(egg_price)):
    li.append([egg_price[i], egg_price[i] * (len(egg_price) - i)])

li = sorted(li, key = lambda x : -x[1])
print(*li[0])

💡문제접근2

  • 질문게시판에 있는 내용을 보고 고민했다. 달걀의 개수만큼 파는 것이라는 말이 눈에 들어왔다.
  • 또한 영양란이라고 속인 죄책감 때문에 경래는 한 사람당 한 개의 달걀만 판다고 조건에 명시되어 있었다.

💡코드2(메모리 : 30616KB, 시간 : 68ms)

N, M = map(int, input().split())
egg_price = []
for _ in range(M):
    egg_price.append(int(input()))

egg_price.sort(reverse=True)
max_profit = 0
unit_price = 0
total = 0
for i in range(min(N, M)):
    total += egg_price[i] * (i + 1)
    if max_profit < total:
        unit_price = egg_price[i]
        max_profit = total
    total = 0
print(unit_price, max_profit)

💡소요시간 : 19m

0개의 댓글