[Boj문제풀이]

[Boj/백준] 14241 Python

ki7348 2021. 8. 26. 01:07

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

 

14241번: 슬라임 합치기

영선이와 효빈이는 슬라임을 합치는 게임을 하고 있다. 두 사람은 두 슬라임을 골라서 하나로 합쳐야 한다. 게임은 슬라임이 하나 남았을 때 끝난다. 모든 슬라임은 양수 크기를 가지고 있다. 두

www.acmicpc.net

 

 

1. 문제 접근 방식

배열을 큰 순서대로 sorting하고 앞에 원소 두 개끼리 더하고 곱해서 해결하면 될거라고 생각했다.

즉 크기가 가장 큰 두개의 슬라임을 계속해서 합쳐나간다.

 

 

2. 내가 푼 코드

import sys

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

arr = list(map(int,sys.stdin.readline().split()))

sum = 0

for _ in range(case-1):
    arr.sort()
    arr.reverse()
    newVal = arr[0]*arr[1] 
    newSum = arr[0]+arr[1]
    sum+=newVal
    arr.append(newSum)
    arr.pop(0)
    arr.pop(0)

    


print(sum)

 

 

3. 결과 및 느낀점

arr.pop(0) arr.pop(0)을 안하고 arr.pop(0) arr.pop(1)을 계속해서 헤맸는데

다시는 이런 실수가 없도록 하자.

pop 메소드에는 리스트의 index를 인자로 줘서 삭제시킬 수 있다.

코드를 간결하게 쓰는 연습을 계속하자.

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

[Boj/백준] 14247 Python  (0) 2021.08.28
[Boj/백준] 1105 Python  (0) 2021.08.27
[Boj/백준] 3135 Python  (0) 2021.08.25
[Boj/백준] 11508 Python  (0) 2021.08.24
[Boj/백준] 9935 Python  (0) 2021.08.24