728x90
반응형
https://www.acmicpc.net/problem/14241
문제의 접근 방법
- 어떤 순서로 슬라임을 합쳐도 나오는 값이 똑같다.
내가 막혔던 부분
- 리스트의 0번째 요소와 1번째 요소를 더한 값을 그 다음 원소와 더하는 과정 => 코드로 표현하는 것에 어려움을 겪었다.
: 그냥 첫 번째 요소와 두 번째 요소를 더했다면 그 값을 두 번째 요소에 넣어주면 되는 것이었다!
ex) list[1] = list[0] + list[1]
문제 풀이 방법
슬라임의 개수(N)와 N개의 슬라임들의 크기를 입력받기 -> 얻을 수 있는 점수를 score변수에 누적해서 더하기(이 때, 가장 첫 번째 요소와 그 다음 요소를 곱한 값을 넣어준다) -> 두 슬라임을 합쳐서(x+y) 만들어진 새로운 슬라임과 그 다음으로 합칠 슬라임을 계산하기 위해 리스트 size의 i번째 요소와 i+1번째 요소를 더한 값을 i+1번째에 넣어주는 방식으로 반복 수행하기 -> 점수의 최댓값 score 출력하기!
소스코드
N = int(input())
size = list(map(int, input().split()))
score = 0
for i in range(len(size)-1):
score += (size[i] * size[i+1])
size[i+1] = size[i] + size[i+1]
print(score)
728x90
반응형
'백준 write-up > 정렬 & 그리디' 카테고리의 다른 글
[백준] 동전 뒤집기 : 1285번 - Python (0) | 2021.08.25 |
---|---|
[백준] 토너먼트 만들기 : 2262번 - Python (0) | 2021.08.21 |
[백준] ZOAC 2 : 18238번 - Python (0) | 2021.08.20 |
[백준] 라디오 : 3135번 - Python (0) | 2021.08.18 |
[백준] 삼각형 만들기 : 1448번 - Python (0) | 2021.08.18 |