http://tryhelloworld.co.kr/challenge_codes/176
( 문제 ) Level2
2016년 1월 1일은 금요일입니다. 2016년 A월 B일은 무슨 요일일까요? 두 수 A,B를 입력받아 A월 B일이 무슨 요일인지 출력하는 getDayName 함수를 완성하세요. 요일의 이름은 일요일부터 토요일까지 각각
SUN,MON,TUE,WED,THU,FRI,SAT
를 출력해주면 됩니다. 예를 들어 A=5, B=24가 입력된다면 5월 24일은 화요일이므로 TUE
를 반환하면 됩니다.
( 구현 - 자바 )
TryHelloWorld.java
class TryHelloWorld
{
public String getDayName(int a, int b)
{
// 금요일 부터 시작
String[] week = {"FRI","SAT","SUN","MON","TUE","WED","THU"};
// 2016년 월별 일수
int[] month = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
// index
int idx = 0;
// idx. 입력 받은 월 이전달 까지의 합
for(int i=0; i < a-1; i++){
idx += month[i];
}
// idx. 현재 달 일 수를 더함 (1월1일 하루는 뺀다)
idx = (idx + b-1) % 7;
String answer = week[idx];
return answer;
}
public static void main(String[] args)
{
TryHelloWorld test = new TryHelloWorld();
int a=5, b=24;
System.out.println(test.getDayName(a,b));
}
}
( 결과 출력 )
TUE
실행시간: 99ms
'개발' 카테고리의 다른 글
[알고리즘 문제] 정수 내림차순으로 배치하기 (0) | 2017.04.24 |
---|---|
[알고리즘 문제] 하샤드수 (0) | 2017.04.20 |
[알고리즘 문제] 행렬의 덧셈 (0) | 2017.04.12 |
[알고리즘 문제] 최대공약수와 최소공배수 (0) | 2017.04.12 |
[MariaDB] 엑셀 파일을 CSV 파일로 저장후 insert 하기 (0) | 2016.12.08 |