본문 바로가기

Algorithm/CodeUp

[CodeUp_Java] Q1229 : 비만도 측정 2

반응형

안녕하세요! Plitche(플리체)입니다.
이번 포스팅의 주제는 Q1229 : 비만도 측정 2 (자바, JAVA)입니다.

Intro

Question

문제 설명

입력

키 h와 몸무게 w가 공백을 기준으로 실수로 입력된다.(1≤w, h≤200)
반드시 double형을 사용해야 함. float으로 하면 오답처리되는 케이스가 있음.

출력

비만도 등급을 출력한다.

예시

  • 입력 : 150 60
  • 출력 : 과체중

Solution (풀이)

  • 풀이 1 : 메모리 11244, 시간 96
public class Answer1 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine(), " ");
        StringBuilder sb = new StringBuilder();

        double height = Double.parseDouble(st.nextToken());
        double weight = Double.parseDouble(st.nextToken());

        // 표준 몸무게를 0으로 초기화 선언
        double stanWeight = 0;
        // 키에 따른 표준 몸무게 계산
        if (height<150) {
            stanWeight = height-100;
        } else if (height<160) {
            stanWeight = (height-150)/2+50;
        } else {
            stanWeight = (height-100)*0.9;
        }

        // 비만도
        double bmi = (weight-stanWeight) * 100 / stanWeight;

        // 계산한 bmi에 따른 출력 저장
        if (bmi<=10) {
            sb.append("정상");
        } else if(bmi<=20) {
            sb.append("과체중");
        } else {
            sb.append("비만");
        }

        System.out.println(sb);
        br.close();
    }
}

Ranking(순위)

반응형