티스토리 뷰

알고리즘 문제 풀이 코드는 다음 깃허브 주소에 있습니다.

 

https://github.com/Undecimberclown/aiacademy-java-algorithm 

 

 

비만도 측정 문제

질문

개요
1명의 학생정보(이름, 키, 몸무게) 를 입력받아서 신체질량지수와 비만정도를 판단하는 문제이다.

세부 요구 사항은 다음과 같다.
학생 정보는 구조체로 정의한다.
신체질량지수(BMI) 구하는 식은 다음과 같다.

(BMI = 체중kg / 키m^2)
신체질량지수(BMI)는 소수 첫째자리에서 반올림한다.
비만 정도 판별하는 조건은 다음과 같다.

  • 비만(High) : BMI > 30
  • 과체중(Over) : 25 ≦ BMI ≦ 30
  • 정상(Normal) : 19 ≦ BMI ≦ 24
  • 저체중(Low) : BMI < 19

학생 정보 입력 예는 다음과 같다.
01 홍길동 120.8 30.9

출력 예는 다음과 같다.

 

학생 정보 출력

******************************************************************
번호 이름 키(cm) 체중(kg) BMI 비만정도
******************************************************************
01 홍길동 120.8 30.9 21 정상
******************************************************************

단, https://blog.jiniworld.me/68 참조해서 String.format("", ) 을 사용하시오

 

 

마지막 날짜 문제

특정 달의 마지막 날을 알아내는 알고리즘을 작성하시오.

달력으로 프린트 될수 있는 경우는 모두 몇가지 경우가 있을까?

그달이 큰달인 경우 31일까지 있을 것이고,

작은달인경우 30일 혹은 28일, 29일까지 있을 것이니까 모두 4가지 경우가 있다..

그달이 며칠까지 있는지는 다음과 같다.

31 , 28 or 29 ,31, 30, 31, 30, 31, 31, 30, 31, 30, 31 (1~12월까지) 입니다.

여기서 2월달이 문제다.

바로 윤년 때문이다.

윤년을 계산해 내는 방법은 간단하다.

1. 기본적으로 4의 배수가 되는 해는 윤년입니다...

2. 다만 100의 배수가 되는 해는 윤년이 아닙니다...

3. 그중에서 또 400의 배수가 되는 해는 윤년입니다..

위 3가지 규칙을 만족하는 해는 윤년이 된다.

 

년과 월을 입력받아서,


출력하는 예는 다음과 같다.

******************
년 월 일
******************
2000 2 28
******************
 
성적표 문제
 
<문제>

시험 점수를 입력받아 평균에 따라 90 ~ 100점은 A,
80 ~ 89점은 B, 70 ~ 79점은 C,
60 ~ 69점은 D, 50 ~ 59점은 E, 나머지 점수는 F를
출력하는 프로그램을 작성하시오.
 

<입력>
학생이름과 시험점수(국어, 영어,수학)를 입력한다.
시험 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다.

<출력>

시험 성적을 출력한다.

**********************************
이름 국어 영어 수학 총점 평균 성적
**********************************
홍길동 90 90 90 270 90 A
********************************** 
 

소수구하기

1부터 100까지의 소수를 구하는 프로그램
1. 소수란 무엇인가
  1과 자기자신만이 약수인 숫자 = 약수의 갯수가 2개인 숫자
2. 약수란 무엇인가
어떤 수를 나눴을때 나누어 떨어지는 숫자 = 어떤 수를 나눴을때 나머지가 0인 숫자
3. 어떤 숫자의 가장 큰 약수는?
 자기 자신이다.

<문제>
M이상 N이하의 소수를 모두 출력하는 프로그램을 작성하시오.

<입력>
첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. 
(1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다.
시작하는 값과 끝나는 값을 입력한다.

<출력>
한 줄에 하나씩, 증가하는 순서대로 소수를 출력한다.
**********************************
3 부터 16 까지의 소수
**********************************
3
5
7
11
13
**********************************

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함