toyman   2년 전

밑에 소스 코드가 오답인 소스 코드 입니다.

제가 궁금한건 11번 항의 IF문의 조건 관련 질문입니다.

" 윤년은 4의 배수이고, 100의 배수가 아닐때 또는 400의 배수일때 이다 "

if (A % 4 == 0 && A % 100 != 0 && A % 400 == 0) 그래서 저는 이렇게 한 줄로 조건을 적었는데.. 오답이네요

그래서 백준님 이 풀이하신 블로그를 보니.. 

if (A % 4 == 0 && A % 100 != 0) {
System.out.println("1");
} else if (A % 4 == 0 && A % 400 == 0) {
System.out.println("1");

이렇게 조건을 두개로 분리를 해놓았더라고요.

제가 한 줄로 나열한것의 조건 중 혹시 제가 놓친부분이나 실수한 부분이 있을까요?

A % 100 != 0 && A % 400 == 0 이 부분에서 100의 배수가 아니거나 또는 이니까..  A % 100 != 0 || A % 400 == 0 라고 해야 하는걸까요?

학원에서 공부는 하고 있지만.. 다시 복기 하는 마음으로 공부중인데.. 제가 잘못이해하는 부분들이 많은것 같네요.

남은 추석 즐겁게 보내세요

tmdals6718   2년 전

또는은 and가 아닌 or입니다.

그러므로 ll연산을 해야합니다

if (A % 4 == 0 && (A % 100 != 0 ll A % 400 == 0))

314programs   2년 전

4의 배수이면서, 100의 배수가 아닐 때

if A%4 == 0 && A%100 != 0
System.out.println("1");

또는 400의 배수일 때이다

else if A%400 == 0:
System.out.println("1");

(한국어 잘 못해서 코드만 넣음)

댓글을 작성하려면 로그인해야 합니다.