💻 문제 풀이 접근 방법
1. 합을 쌓아 가다가
2. 100이 넘었을 때 중단시키고 그 앞의 값과 비교
그런데 이렇게 풀었더니, 틀리게 되었습니다ㅠㅠ
바로 100 미만 일 경우를 고려해주지 않았기 때문입니다.
🎈 문제 풀 때 다양한 경우를 함께 고려해주는 것은 정말 기초이면서도 종종 놓치는 경우가 많다.
=> 문제 제출 전에 오류가 뜰만한 반례를 대입해보자!
import sys
scores = 0
for _ in range(10):
score = int(sys.stdin.readline())
pre_scores = scores
scores += score
if scores >= 100:
if abs(100-scores) > abs(100-pre_scores):
scores = pre_scores
break
print(scores)
score이 100보다 크거나 같을 때,
score 값과 100의 차가 pre_score과 100의 차보다 클경우만 고려해주면 나머지는 다 score 값으로 출력하면 100미만의 경우도 포함하게 됩니다!
'알고리즘 문제 풀기 > 백준(Baekjoon)' 카테고리의 다른 글
[백준 알고리즘] 2804. 크로스워드 만들기 _ 파이썬 (0) | 2021.02.13 |
---|---|
[백준 알고리즘] 2953. 나는 요리사다 _ 파이썬 (0) | 2021.02.13 |
[백준 알고리즘] 11659. 구간 합 구하기 4 _ 파이썬 (1) | 2021.02.13 |
[백준 알고리즘] 4344. 평균은 넘겠지(소수점 처리) - 파이썬 (0) | 2021.02.10 |
[백준 알고리즘] 8958. OX퀴즈 - 파이썬 (0) | 2021.02.10 |