문제 출처 :
https://programmers.co.kr/learn/courses/30/lessons/12901
코딩테스트 연습 - 2016년
2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까��
programmers.co.kr
문제설명 :
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를 반환하세요.
제한조건 :
입출력 예 :
코드 :
import java.text.*;
import java.util.*;
class Solution {
public String solution(int a, int b) {
String answer = "";
StringBuilder date2016 = new StringBuilder("2016"); // 문자열 더하기 예정
String dateFinal ="";
if(1<=a && a<10)
{
String m = Integer.toString(a); // String으로 변환
String d = Integer.toString(b);
date2016.append("0");
date2016.append(m);
date2016.append(d);
dateFinal = date2016.toString();
}else if (10<=a && a <13)
{
String m = Integer.toString(a);
String d = Integer.toString(b);
date2016.append(m);
date2016.append(d);
dateFinal = date2016.toString();
}else if(a<0 || a >12 || b <0|| b>31 )
{
System.out.println(" 입력값 오류입니다.");
}
DateFormat dateFormat = new SimpleDateFormat("yyyyMMdd"); // 날짜 형식설정
Date date;
try {
date = dateFormat.parse(dateFinal);
Calendar cal = Calendar.getInstance();
cal.setTime(date); // 날짜 셋팅
int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK); // 요일 계산 함수
switch(dayOfWeek)
{
case 1:
answer ="SUN";
break;
case 2:
answer ="MON";
break;
case 3:
answer ="TUE";
break;
case 4:
answer ="WED";
break;
case 5:
answer ="THU";
break;
case 6:
answer ="FRI";
break;
case 7:
answer ="SAT";
break;
}
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return answer;
}
}
결과 :
문자열 다루기 기본 : 정규식패턴사용 (0) | 2020.10.11 |
---|---|
두 정수 사이의 합 (0) | 2020.10.06 |
같은 숫자는 싫어 (0) | 2020.10.06 |
완주하지 못한 선수 (0) | 2020.10.02 |
크레인 인형뽑기 게임 (0) | 2020.10.02 |
댓글 영역