Level 1 - 2016년의 월일로 요일 알아내기
by Dojin Kim
Problem: Finding date of week of 2016 when a month and date is given
January 1st of 2016 is Friday. Then what is the date of week of day b, month a? Get a, b as an input complete a function that returns a date of week. For example, if a=5, b=24 –> May 24th of 2016 is Tuesday so the function must return TUE.
문제: 월과 일이 주어졌을 때 2016년 기준으로 요일 알아내기
2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까지 각각 SUN,MON,TUE,WED,THU,FRI,SAT입니다. 예를 들어 a=5, b=24라면 5월 24일은 화요일이므로 문자열 TUE를 반환하세요.
Java
My Solution
class Solution {
public String solution(int a, int b) {
String answer = "";
int[] month={31,29,31,30,31,30,31,31,30,31,30,31}; //initialize dates of month
int date=b-1;
for(int i=0;i<a-1;i++){ //since index starts from 0, loop until a-1
date+=month[i];
}
switch(date%7){
case 0:
answer="FRI";
break;
case 1:
answer="SAT";
break;
case 2:
answer="SUN";
break;
case 3:
answer="MON";
break;
case 4:
answer="TUE";
break;
case 5:
answer="WED";
break;
case 6:
answer="THU";
break;
}
return answer;
}
}
Best solution
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();
}
Subscribe via RSS