プログラマー(Level 1-21)2016
4621 ワード
問題の説明:
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日などの日付は提供されません)
I/O例
a b result
5 24 "TUE"
実装コード:
うるう年とは、2月にもう1日ある年のこと.つまり2月は29日までの1年です
番外を救うために閏年かどうか.
if((year%4==0&&year%!=100)||year%400==0)
このように手に入れることができます.
今コードに戻って、日付全体を-1に加算するのは1からで、day+5は1月1日が金曜日だからです.
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日などの日付は提供されません)
I/O例
a b result
5 24 "TUE"
実装コード:
class Solution {
public String solution(int a, int b) {
String[] week ={"SUN","MON","TUE","WED","THU","FRI","SAT"};
int[] month={31,29,31,30,31,30,31,31,30,31,30,31};
int day=0;
for(int i=1;i<a;i++){
day+=month[i-1];
}
day+=b-1;
return week[(day+5)%7];
}
}
コードの説明:うるう年とは、2月にもう1日ある年のこと.つまり2月は29日までの1年です
番外を救うために閏年かどうか.
if((year%4==0&&year%!=100)||year%400==0)
このように手に入れることができます.
今コードに戻って、日付全体を-1に加算するのは1からで、day+5は1月1日が金曜日だからです.
Reference
この問題について(プログラマー(Level 1-21)2016), 我々は、より多くの情報をここで見つけました https://velog.io/@cse05091/프로그래머스Level1-212016テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol