프로그래밍/백준

[알고리즘] 백준 25285 파이썬 - 심준의 병역판정검사

매 석 2022. 10. 10. 16:03
반응형

문제

병역판정검사는 병역의무자들의 상태를 검사해 징병 여부와 징병 시 어느 방향으로 복무를 시키는 게 좋을지 판정하는 검사로, 남성들은 만 19세가 되는 해에 모두 병역판정검사를 받는다. 신체 등급이 1급부터 3급인 사람은 현역 입영 대상, 4급은 보충역, 5급은 전시근로역, 6급은 병역면제 처분을 받는다.

올해 20살이 된 준이와 친구들은 병역판정검사를 받아야 한다. 준이와 친구들은 매우 건강하기 때문에 다른 질병의 유무와 관계 없이 신장 및 체중으로만 신체 등급이 결정된다. 준이와 친구들의 신장과 체중이 주어지면 아래 표를 참고해 신체 등급을 알려주자.


↓신장(cm), 등급 → 1급 2급 3급 4급 5급 6급
140.1 미만           체중과
관계없이
6급
140.1 이상 146 미만         체중과
관계없이
5급
 
146 이상 159 미만       체중과
관계없이
4급
   
159 이상 161 미만     16.0 이상 35.0 미만 16.0 미만
또는
35.0 이상
   
161 이상 204 미만 20.0 이상
25.0 미만
18.5 이상 20.0 미만
또는
25.0 이상 30.0 미만
16.0 이상 18.5 미만
또는
30.0 이상 35.0 미만
16.0 미만
또는
35.0 이상
   
204 이상       체중과
관계없이
4급
   

 

문제풀이

import sys
T=int(input())
for _ in range(T):
    a,b = map(int,sys.stdin.readline().split())
    BMI = b/((a/100)**2)
    if(a>=204):
        print(4)
    elif(a>=161):
        if(BMI>=35 or BMI<16):
            print(4)
        elif(BMI>=20 and BMI<25):
            print(1)
        elif(20>BMI>=18.5 or 30>BMI>=25):
            print(2)
        elif(18.5>BMI>=16.0 or 35>BMI>=30):
            print(3)
    elif(a>=159):
        if(35>BMI>=16):
            print(3)
        else:
            print(4)
    elif(a>=146):
        print(4)
    elif(a>=140.1):
        print(5)
    else:
        print(6)