[Java] 문제풀이 복습

민아·2022년 1월 2일
0

문제
1에서 1씩 증가하는 숫자가 있는데 몇까지 더해야 합이 1000 이상이 되는지를 구하는 코드의 형식을 작성하시오.

문제를 보고 드는 생각은

  • 반복문을 써야겠다.
  • 반복의 조건과 빠져나오는 조건이 필요

while(true) {
	if(sum>=1000)
    	break; //조건문을 빠져나오는 조건
        i = i+1; //++i 
        sum = sum + i; //sum += i; 인데 익숙하지가 않다.
    }
    	Sysrem.out.println(i);
        Sysrem.out.println(sum);

👉 결과

45
1035

처음에는 문제를 이해하지도 못했다.. 원래 문제는

1에서 1씩 증가하는 숫자가 있는데 합이 1000이상이 되는 숫자를 구하는 코드의 형식을 작성하시오.

였는데 나한테는

1에서 1씩 증가하는 숫자가 있는데 .......합이 1000이상이 되는 숫자를 구하는 코드의 형식을 작성하시오.

처럼 보였다. 물어보는게 뭔지조차 모르겠고요 ... break문까지 다 작성해 놓고는 결국 예제 참고해서 완성했다.


문제
2020년에서 2024년까지 윤년 여부를 출력하는 코드를 작성하시오.

  • 년도를 400으로 나누면 나누어 떨어진다.
  • 년도를 4로 나누어 떨어지는 동시에 100으로는 나누어 떨어지면 안된다.
  • if-else문으로 윤년이다 아니다 출력
  • 반복문 사용
int year = 2020
for(i=0;i<5;i++) {
	if(year%400==0 || (year%400==0 && year%100!=0)) {
    	System.out.println(year+"는 윤년입니다.");
    } else {
    	System.out.println(year+"는 평년입니다.");
    }
    year = year + 1;
}

👉 결과

2020는 윤년입니다.
2021는 평년입니다.
2022는 평년입니다.
2023는 평년입니다.
2024는 윤년입니다.

제일 먼저 떠올린 if문은 잘 접근했는데 조건문을 중첩 시킬때부터 고장남

  • 0부터 셌을때 5개 미만이어야 5개가 출력되니까 (int i=0;i<5;i++)
  • 이 과정을 for문 조건만큼 반복해야 되니까 year = year + 1;

profile
그냥 꾸준히 하는중

0개의 댓글