[Programmers]2016年(JAVA)
10102 ワード
📄 問題の説明
2016年1月1日は金曜日です.2016年a月b日は何曜日ですか?2つの数a,bを入力し,2016年a月b日が曜日である関数を返し,解を完成する.日曜日の名前は日曜日から土曜日まで各
SUN,MON,TUE,WED,THU,FRI,SAT
です.たとえば、a=5、b=24の場合は、5月24日が火曜日であるため、文字列「TUE」を返します.
📑 せいげんじょうけん
2016年は閏年です.
2016年a月b日は実在の日です(13月26日または2月45日などの日付は提供されません.)
👨🏻💻 私が書いたコード
class Solution {
public String solution(int a, int b) {
String answer = "";
String[] week = {"THU","FRI","SAT","SUN","MON","TUE","WED"};
int day = 0;
for(int i = 1; i < a; i++) {
switch(i){
case 1: case 3: case 5: case 7: case 8: case 10: case 12: day += 31; break;
case 4: case 6: case 9: case 11: day+= 30; break;
case 2: day += 29; break;
}
}
answer = week[(day + b) % 7];
return answer;
}
}
👨🏻🏫 コード解析
TIPの繰り返しの値を求めて、残ったものを求めます.
💡 他人を解く
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();
}
public static void main(String[] args)
{
TryHelloWorld test = new TryHelloWorld();
int a=5, b=24;
System.out.println(test.getDayName(a,b));
}
}
Javaライブラリのコードの使用👍🏻Reference
この問題について([Programmers]2016年(JAVA)), 我々は、より多くの情報をここで見つけました https://velog.io/@lee951109/Programmers-2016년-JAVAテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol