[Boj문제풀이]

[Boj/백준] 11508 Python

ki7348 2021. 8. 24. 00:14

문제 출처: https://www.acmicpc.net/problem/11508

 

11508번: 2+1 세일

KSG 편의점에서는 과일우유, 드링킹요구르트 등의 유제품을 '2+1 세일'하는 행사를 하고 있습니다. KSG 편의점에서 유제품 3개를 한 번에 산다면 그중에서 가장 싼 것은 무료로 지불하고 나머지 두

www.acmicpc.net

 

 

1. 문제 접근 방식

가장 큰 원소 세개씩 묶어서 sum에다가 더해가면 될 것 같았다.

3으로 나누어 떨어지지 않을 경우 0을 추가하는 방향으로 접근했다.

 

 

2. 내가 푼 코드

import sys

case = int(sys.stdin.readline())

arr=[]

for _ in range(case):
    arr.append(int(sys.stdin.readline()))

sum = 0
arr.sort()
arr.reverse()

if len(arr)%3 == 1:
    arr.append(0)
    arr.append(0)
elif len(arr)%3 ==2:
    arr.append(0)
else:
    arr=arr

for i in range(len(arr)//3):
    sum+=arr[i*3+1]
    sum+=arr[i*3]

print(sum)

 

 

3. 결과 및 느낀점

14번 부터 24번줄까지의 코드를

len(arr)%3!=2일때로 간단하게 줄일 수 있다.

코드를 간결하게 작성하는 연습이 필요하다...

'[Boj문제풀이]' 카테고리의 다른 글

[Boj/백준] 14241 Python  (0) 2021.08.26
[Boj/백준] 3135 Python  (0) 2021.08.25
[Boj/백준] 9935 Python  (0) 2021.08.24
[Boj/백준] 11501 Python  (0) 2021.08.23
[Boj/백준] 1181 Python  (0) 2021.08.23