728x90
반응형
문제
체력시험 합격 인원을 알아보려고 합니다. 체력시험 종목으로는 윗몸일으키기, 팔굽혀펴기, 달리기가 있습니다. 종목별 합격기준은 다음과 같습니다.
| 윗몸일으키기 | 팔굽혀펴기 | 달리기 |
| 80점 이상 | 88점 이상 | 70점 이상 |
* 통과한 종목이 하나 이하거나, 통과 점수의 반을 넘기지 못한 종목이 있다면 불합격입니다.
* 그 외에는 합격입니다.
시험에 합격한 인원을 구하기 위해 다음과 같이 프로그램 구조를 작성했습니다.
1. 통과한 종목이 몇 개인지 셉니다.
2. 통과 점수의 반을 넘기지 못한 종목이 몇 개인지 셉니다.
3. 통과한 종목이 하나보다 많고 통과 점수의 반을 넘기지 못한 종목이 없으면 통과한 인원으로 셉니다.
각 종목 기록을 담고 있는 리스트 scores가 매개변수로 주어질 때, 시험에 합격한 인원을 return 하도록 solution 함수를 작성하려 합니다.
시험에 합격한 인원을 return합니다.
#####예시
| score | return |
| [[30, 40, 100], [97, 88, 95]] | 1 |
| [[90, 88, 70], [85, 90, 90], [100, 100, 70], [30, 90, 80], [40, 10, 20], [83, 88, 80]] | 4 |
Python
#score = [[30,40,100], [97,88,95]]
score = [[90,88,70],[85,90,90],[100,100,70],[30,90,80],[40,10,20],[83,88,80]]
def solution(score):
cutline = [80, 88, 70]
passExam = 0
for s in score:
#윗몸일으키기
cnt = 0
fail=False
for i in range(len(s)) : # len(s) ==3
if s[i] >= cutline[i]:
cnt +=1
elif s[i] < cutline[i]/2:
fail=True
break
else:
cnt+=0
if cnt>1 and not(fail):
passExam += 1
return (passExam)
print(solution(score))
728x90
반응형
'Algorithm Problems' 카테고리의 다른 글
[Cos Pro 1급] [백준] 1차 2번, 3449번 - 해밍거리 (0) | 2021.01.28 |
---|---|
[Cos Pro 1급] 3차 5번 - 전광판 어플 (0) | 2021.01.24 |
[백준] 1094 .py - 막대기 (0) | 2021.01.15 |
[백준] 1157 .py - 단어 공부 (0) | 2021.01.15 |
[백준] 2231 .py - 분해합 (0) | 2021.01.15 |