https://www.acmicpc.net/problem/25943
left, right 변수 2개를 만들어서 각각 첫번째 자갈과 두번째 자갈 무게를 값으로 초기화 해준다.
나머지 자갈들을 규칙에 맞게 왼쪽 오른쪽에 놔둔다.
그다음 left와 right의 무게를 비교하여 같다면 0을 출력하고, 다르다면 차이값을 구한다.
차이값에서 무한루프로 가장 큰 무게추 100g 부터 1개씩 카운트해준다.
n = int(input())
stones = list(map(int,input().split()))
left = stones[0]
right = stones[1]
for i in range(2,n):
if left > right:
right += stones[i]
else:
left += stones[i]
if left == right:
print(0)
else:
diff = max(right,left)-min(right,left)
result = 0
while(True):
if diff == 0:
break
elif diff >=100:
diff-=100
result+=1
continue
elif diff >=50:
diff-=50
result+=1
continue
elif diff >=20:
diff-=20
result+=1
continue
elif diff >=10:
diff-=10
result+=1
continue
elif diff >=5:
diff-=5
result+=1
continue
elif diff >=2:
diff-=2
result+=1
continue
elif diff >=1:
diff-=1
result+=1
continue
print(result)
좀 무식한 방법으로 풀었다.
다른사람의 풀이를 보니 짧고 좋은 것 같다.
'백준' 카테고리의 다른 글
25945번 - 컨테이너 재배치 [백준 - Python] (1) | 2023.10.15 |
---|---|
26111: Parentheses Tree [백준 - Python] (0) | 2023.10.03 |
11070 : 피타고라스 기댓값 [백준 - Python] (0) | 2023.09.28 |
1676번: 팩토리얼 0의 개수 [백준 - Python] (1) | 2023.09.18 |
1920번: 수 찾기 [백준 - Python] (0) | 2023.09.15 |
댓글