문제출처: 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 |