프로그래머스
2016년
업데이트 :: 2018.09.11
문제
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를 반환하세요. 제한 조건 2016년은 윤년입니다. 2016년 a월 b일은 실제로 있는 날입니다. (13월 26일이나 2월 45일같은 날짜는 주어지지 않습니다)
코드
1차풀이
class Solution { public String solution(int a, int b) { String answer = ""; // 2016년 (윤년) // 2016년 1월 1일 금요일 // 31 29 31 30 31 30 31 31 30 31 30 31 // SUN,MON,TUE,WED,THU,FRI,SAT int targetOfMonth = a; int targetOfDate = b; int sumOfAllDate = 0; int[] lastDateOfMonth = new int[] {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; String[] dayOfWeek = new String[] {"SUN","MON","TUE","WED","THU","FRI","SAT"}; // == Month Sum == for(int i=0; i<targetOfMonth-1; i++) { sumOfAllDate += lastDateOfMonth[i]; } // == Date Sum == sumOfAllDate += targetOfDate; // == 2016년 1월 1일 금요일 == return dayOfWeek[(sumOfAllDate+4) % 7]; } }
예제
Calendar API
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(); } public static void main(String[] args) { TryHelloWorld test = new TryHelloWorld(); int a=5, b=24; System.out.println(test.getDayName(a,b)); } }
LocalDate API
import java.time.*; class TryHelloWorld { public String getDayName(int a, int b) { LocalDate date = LocalDate.of(2016, a, b); return date.getDayOfWeek().toString().substring(0, 3); } public static void main(String[] args) { TryHelloWorld test = new TryHelloWorld(); int a=5, b=24; System.out.println(test.getDayName(a,b)); } }
결과
- 1007
- 점수가 의미하는게 무엇인지 ...
학습
- API 사용가능
Created by MoonsCoding
e-mail :: jm921106@gmail.com
반응형
'CS > 프로그래머스' 카테고리의 다른 글
문제 // Programmers // LEVEL1 // Sort // 문자열 내 마음대로 정렬하기 // Java (0) | 2018.09.11 |
---|---|
문제 // Programmers // LEVEL1 // Array & Math // 두 정수 사이의 합 // Java (0) | 2018.09.11 |
문제 // Programmers // LEVEL1 // Array // 나누어 떨어지는 숫자 배열 // Java (0) | 2018.09.11 |
문제 // Programmers // LEVEL1 // Array // 같은 숫자는 싫어 // Java (0) | 2018.09.11 |
문제 // Programmers // LEVEL1 // String // 가운데 글자 가져오기 // Java (0) | 2018.09.11 |