
- ๋ฌธ์ :
2016๋
์ ์ค๋
์ด๊ณ , 2016๋
1์ 1์ผ์ ๊ธ์์ผ์ด๋ค.
์(a),์ผ(b)์ ์
๋ ฅ๋ฐ๊ณ ํด๋น ๋ ์ง๊ฐ ๋ฌด์จ ์์ผ์ธ์ง ๋ฆฌํดํ๋ ํจ์๋ฅผ ์์ฑํ๋ผ
-ํ์ด :
public class HomeworkPrac4 {
public static void main(String[] args){
int a = 5; // ์ ์
๋ ฅ ๋ฐ์ ๋ณ์ ์ ์ธ
int b = 24; // ์ผ ์
๋ ฅ ๋ฐ์ ๋ณ์ ์ ์ธ
// ๋ด๊ฐ ์๊ฐํ ๋ฌธ์ ํ์ด ๋ฐฉ๋ฒ : a์ b์ผ๊น์ง์ ๋ชจ๋ ์ผ์๋ฅผ ๋ํ ํ, 7์ผ๋ก ๋๋ ์ ๋งค์นญ๋๋ ์์ผ์ ์ถ๋ ฅํ๊ณ ์ํจ
int[] monthsDay = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
// 2016๋
์ ์ค๋
์ด๋ฏ๋ก 2์์ด 29์ผ๊น์ง ์๋ค. ๋งค์ ๋ช์ผ๊น์ง ์๋์ง monthsDay ๋ฐฐ์ด์ ๋ฐ์ดํฐ๋ฅผ ๋ฃ์ด๋๋ค.
String[] day = {"FRI", "SAT", "SUN", "MON", "TUE", "WED", "THU"};
// day๋ผ๋ ๋ฌธ์์ด ๋ฐฐ์ด์ ์์ผ๋ค์ ๋ฃ๋๋ค. 1์ 1์ผ์ด ๊ธ์์ผ์ด๋ผํ์ผ๋๊น ์ ๋ ฌํ๊ธฐ ํธํ๊ฒ ๊ธ์์ผ๋ถํฐ ์์ฑํ๋ค.
int totalDate = 0;
// a์ b์ผ๊น์ง ์ด ๋ช์ผ์ธ์ง ๊ตฌํ์ฌ ์ ์ฅํ๊ธฐ ์ํ totalDate ๋ณ์๋ฅผ ์ ์ธํ๋ค.
for (int i =0; i < a-1; i++){
// ๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉํ๋๋ฐ ์ฌ๊ธฐ์ ( i < a-1)๊น์ง๋ง ๋ฐ๋ณตํ๋ ์ด์ ๋ a(=5)๋ ํน์ ์ผ์(b)๊น์ง๋ง ๋ํด์ฃผ๋ฉด ๋๊ธฐ ๋๋ฌธ์ด๋ค.
totalDate += monthsDay[i];
// totalDate ๋ณ์์ ๋ฐ๋ณตํ์ฌ MonthsDay[0] ~ MonthDay[3]๊น์ง์ ์ซ์๋ค์ ๋ํ๋ค
}
totalDate += b-1;
// 1์ 1์ผ๋ถํฐ ์์ํ๊ธฐ ๋๋ฌธ์ Total count์์ -1์ ๋นผ์ค๋ค.
String answer = day[totalDate % 7];
// ์ ์ฒด ์ผ์(totalDate์์ 7(์ผ์ฃผ์ผ)์ ๋๋ ํด๋น ์ผ์์ ๋งคํ ๋ ์์ผ ์ ๋ณด๋ฅผ ๋ฐ๋๋ค.
System.out.println(answer);
// ์ถ๋ ฅํ์ฌ ํ์ธ
}
}
์ด ๋ฌธ์ ์์ ํท๊ฐ๋ ธ๋ ๋ถ๋ถ์ totalDate์์ b-1์ ํ ๋ถ๋ถ์ด์๋๋ฐ ํ์๋ถ๋ค๊ณผ ์ฝ๋ ๋ฆฌ๋ทฐ ํ๋ ์ค
๊ธฐ๋
์ผ์ ๊ณ์ฐํ ๋ ์ค๋๋ถํฐ 1์ผ์ ์ธ๋๋ผ๋, ์ค๋์ ์ฌ์ค 0์ผ์งธ๋ผ๋ ๊ฐ๋
๊ณผ ๋น์ทํ๋ค๊ณ ์๊ฐํ๋ ์ดํด๊ฐ ์์ ๋์๋ค.
*) ์ด์ธ์ ์์ธํ ๋ด์ฉ์ ์ฝ๋์ ์ฃผ์์ผ๋ก ์์ฑํ์๋ค.
'๐ Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [Programmers] Lv1. ์๋ฆฟ์ ๋ํ๊ธฐ (0) | 2022.11.22 |
|---|---|
| [Programmers] LV1. ์ด์ํ ๋ฌธ์ ๋ง๋ค๊ธฐ (0) | 2022.11.22 |
| [Programmers] LV1. ์์ฃผํ์ง ๋ชปํ ์ ์ (0) | 2022.11.22 |
| [Programmers] LV1. ์๋ฐ์๋ฐ์๋ฐ์๋ฐ์๋ฐ์? (0) | 2022.11.22 |
| [Programmers] LV1. ๋๋์ด ๋จ์ด์ง๋ ์ซ์ ๋ฐฐ์ด (0) | 2022.11.22 |