Story of CowHacker

백준 11508번 2 + 1 세일 본문

공부/백준

백준 11508번 2 + 1 세일

Cow_Hacker 2020. 12. 17. 20:49
728x90

백준 11508번 문제 2 + 1 세일을 풀어 봤다.

 

 

 

 

 

 

 

 

이번 문제는 문제를 풀면서 우유가 먹고 싶었다.

 

 

 

 

 

 

 

 

 

예시가 나왔고 나는 문제 이해를 해나갔다.

 

 

 

 

 

 

 

힌트가 감사하게도 나와있는 문제였다.

 

출처, 알고리즘도 보였다.

 

 

 

 

 

 

 

 

 

count = int(input())                     # 유제품의 수 N이다.

nlist = []                               # 각 유제품의 가격 리스트다.
key = 0                                  # 최소 금액을 더한 가격 변수다.
k = 0                                    # 2+1 묶음을 할수 있는지 판단 하는 변수다.
k2 = 0                                   # 총 가격이 들어갈 변수다.

for _ in range(count):                   # 유제품의 수 만큼 for문을 돌린다.
    number = int(input())                # 각 유제품의 가격을 입력 받는다.
    nlist.append(number)                 # 받은 각 유제품의 가격을 리스트에 넣는다.

klist = list(sorted(nlist,reverse=True)) # 가격 리스트 값을 내림차순 리스트 값으로 만든다.

while True:                              # while문의 반복문을 돌린다.
    if k <= len(nlist)//3:               # 각 유제품의 가격 리스트에서 세 묶음 한 값과 판단 변수와 비교한다.
        key = sum(klist[:2])             # 두 제품을 더한다.
        k2 += key                        # 더한 값을 총 가격변수에 더해 나간다.
        del(klist[:3])                   # 더한 유제품의 가격을 제거한다.
        k += 1                           # 판단 변수의 값을 1 올린다

    else:                                # 판단 변수보다 값이 작을시 진입한다.
        break                            # while문의 반복문을 종료한다.
print(k2)                                # 총 값을 출력한다.

위 코드로 저문제를 풀어 버렸다.

 

 

 

 

 

 

딩은

동댕 이 ( 정답 소리 ) 잘 안된다.

728x90

'공부 > 백준' 카테고리의 다른 글

백준 7568번 덩치  (0) 2021.01.10
백준 14916번 거스름돈  (0) 2021.01.01
백준 14720번 우유 축제  (0) 2020.10.15
백준 14659 한조서열정리하고옴ㅋㅋ  (0) 2020.09.08
백준 10162번 전자레인지  (0) 2020.09.08
Comments