[Java_Programmers] Lv1. 2016년

🐷Jinie (juniorDeveloper)·2020년 11월 12일
0

Algorithm

목록 보기
11/27

  • 제한조건 '윤년' => 2월이 29일
  • 2016년 1월 1일은 '금요일'

  • 2016년 01월 01일은 금요일이다.
    이말은 즉, 일수 1일을 7로 나눈 나머지 1인 경우 '금요일'이다.
  • week배열의 idx 1번에 금요일을 넣고 나머지 요일을 순서대로 배정했다.
  • 이제 어떤 날짜가 들어와도 일수를 구할 수 있도록 만들어야한다.
  • a월 b일 이라면,
    1월 1일 a = 1 / b = 1

    2월 1일 a = 2 / b = 31 + 1 = (1월의 일수 (0번 idx)+n일) = 32
  • 따라서 일수를 구하는 배열을 for문으로 작성하면
for(int i = 0 ; i < a-1 ; i++){
            b = b + months[i];
        }
  • idx는 0부터 a월 전달까지 더해야한다.
  • 일수 b에 계속 배열에 있는 일수를 누적해서 더한다.
  • 이렇게 일수가 나오면
  • 7로나눈 나머지를 확인하고
  • 요일을 알려주는 배열에서 나머지를 idx로 사용하면
  • 원하는 요일을 알 수 있다.

profile
ᴘᴇᴛɪᴛs ᴅᴇ́ᴠᴇʟᴏᴘᴘᴇᴜʀ. ᴘʀᴏɢʀᴀᴍᴍᴀᴛɪᴏɴ = ᴘʟᴀɪsɪʀ 💕

0개의 댓글