ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ฉํ ์คํธ ๋ฌธ์ "์ฃผ์ด์ง ์(
a
)๊ณผ ์ผ(b
)์ ์ด์ฉํ์ฌ 2016๋ ์ ํด๋น ๋ ์ง์ ์์ผ์ ๋ฌธ์์ด๋ก ๋ฐํ"ํ๋ ๋ฐฉ๋ฒ์ ๋ํด ๋ค์ํ ๋ฐฉ์์ผ๋ก ์ ๊ทผํด๋ณด์๋ค.
๋ฌธ์ ๋งํฌ: ํ๋ก๊ทธ๋๋จธ์ค 12901๋ฒ
class Solution {
public String solution(int a, int b) {
String dayWeek[] = {"THU","FRI","SAT","SUN","MON","TUE","WED"};
int monthDay[] = {31,29,31,30,31,30,31,31,30,31,30,31};
int day = 0;
String answer = "";
for(int i = 0; i < a - 1; i++) {
day += monthDay[i];
}
day += b;
answer = dayWeek[(day % 7)];
return answer;
}
}
๋๋ 2016๋ ์ ํน์ ๋ ์ง์ ํด๋นํ๋ ์์ผ์ ์ฐพ๊ธฐ ์ํด ๋ฐฐ์ด์ ์ฌ์ฉํด๋ดค๋ค.
- ๋ ์ง ๊ณ์ฐ:
for๋ฌธ์ ์ฌ์ฉํ์ฌ ์ฃผ์ด์ง ์(a)์ ์ ์๊น์ง์ ์ด ์ผ์๋ฅผ day ๋ณ์์ ๋์ ํจ.
์๋ฅผ ๋ค์ด, a๊ฐ 3์์ด๋ฉด 1์๊ณผ 2์์ ์ด ์ผ์๋ฅผ ๋ํ๋ค.
์ ๋ ฅ๋ ์ผ(b)์ day์ ๋ํ์ฌ, 2016๋ 1์ 1์ผ๋ถํฐ a์ b์ผ๊น์ง์ ์ด ์ผ์๋ฅผ ๊ณ์ฐํ๋ค.- ์์ผ ๊ณ์ฐ:
๊ณ์ฐ๋ ์ด ์ผ์(day)๋ฅผ 7๋ก ๋๋ ๋๋จธ์ง๋ฅผ ๊ตฌํ์ฌ ํด๋น ์์ผ์ ์ธ๋ฑ์ค๋ฅผ ์ป๋๋ค.
๋ฌธ์ ์ ๊ธฐ์ค์ ์ธ 2016๋ 1์ 1์ผ์ด ๊ธ์์ผ์ด๊ธฐ ๋๋ฌธ์, ๋๋จธ์ง์ ํด๋นํ๋ ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ์ฌ ์์ผ์ ๊ฒฐ์ ํ๋ค.
์๋ฅผ ๋ค์ด, ๋๋จธ์ง๊ฐ 0์ด๋ฉด "THU"(๋ชฉ์์ผ), 1์ด๋ฉด "FRI"(๊ธ์์ผ)๊ฐ ๋๋๊ฒ์ด๋ค.- ๊ฒฐ๊ณผ ๋ฐํ:
๊ณ์ฐ๋ ์์ผ์ answer์ ํ ๋นํ๊ณ , ์ด๋ฅผ ๋ฐํํ๋ค.
์ผ๋จ ๋ด๊ฐ ์๋ ์ ์์ ๋ฌธ์ ๋ฅผ ํ์ด๋ดค์ผ๋ ๋ถ๋ช
๋ ์ง์ ๊ด๋ จ๋ ํจ์๊ฐ ์์๊ฑฐ๋ผ๊ณ ์๊ฐํ๋ค.
๊ทธ๋์ ์ฐพ์๋ดค๋ค.
import java.time.*;
class Solution {
public String solution(int a, int b) {
return LocalDate.of(2016, a, b).getDayOfWeek().toString().substring(0,3);
}
}
import java.util.*;
class TryHelloWorld {
public String getDayName(int month, int day) {
Calendar cal = new Calendar.Builder().setCalendarType("iso8601")
.setDate(2016, month - 1, day).build();
return cal.getDisplayName(Calendar.DAY_OF_WEEK, Calendar.SHORT, new Locale("ko-KR")).toUpperCase();
}
}
์์ ๊ฐ์ด ๋๊ฐ์ง๋ก ๋ฌธ์ ๋ฅผ ํ ์ ์๋ค.
๋ ๋ฉ์๋์ ์ฐจ์ด์ ์ ์๋์ ๊ฐ๋ค.
LocalDate
๋ฐฉ์์ ํ๋์ ์ด๊ณ ๊ฐ๊ฒฐํ๋ฉฐ, ์ง๊ด์ ์ผ๋ก ์์ผ์ ๊ตฌํ ์ ์๋ค.Calendar
๋ฐฉ์์ ๋ ๋ง์ ์ปค์คํ
์ค์ ๊ณผ ๋ณต์กํ ๋ ์ง ๊ณ์ฐ์ ์ ์ฉํ๊ฒ ์ฌ์ฉํ ์ ์๋ค.Calendar
ํด๋์ค๋ ๋ณต์กํ ๋ ์ง ์๊ฐ ์ฐ์ฐ์ ์ ํฉํ๋ค.๊ฒฐ๋ก ์ ์ผ๋ก, ๋ ๋ฐฉ๋ฒ ๋ชจ๋ ์ ํจํ์ง๋ง ์ด ๋ฌธ์ ์์๋ LocalDate๋ฅผ ํ์ฉํ๋๊ฒ ๋ ํจ์จ์ ์ด๋ผ๊ณ ์๊ฐํ๋ค.
์ํฉ์ ๋ฐ๋ผ ์ ์ ํ ๋ฐฉ๋ฒ์ ์ ํํ๋ ๊ฒ์ด ์ค์ํ๋ค๋ ๊ฒ์ ๋ค์ ํ๋ฒ ๊นจ๋ซ๋๋ค.