[プログラマー]2016年
1487 ワード
https://programmers.co.kr/learn/courses/30/lessons/12901#
2016年1月1日は金曜日です.2016年a月b日は何曜日ですか?2つの数a,bを入力し,2016年a月b日が曜日である関数を返し,解を完成する.日曜日の名前は日曜日から土曜日までです.
.たとえば、a=5、b=24の場合は、5月24日が火曜日であるため、文字列「TUE」を返します.
12016年は閏年です. 12016年a月b日は実在の日である.(13月26日または2月45日などの日付は提供しません)
abresult524"TUE"
a月の前月までに日数を計算し、bを加算して総数を計算し、72016年1月1日で割ると金曜日なので、金曜日インデックス5を加算して を出力します.12016年は閏月なので、2月に29、7月と8月31日を加算しますので、8月を起点に日加算日数を変更し、 を再計算します
最も面白いなぞなぞはすべての月の条件を書くことで、12中if門を使って華為芸術の答えを昇華します... 月の日数に基づいてリストを生成し,その月までにインデックスを作成する方法が最も簡潔であると考える.
問題の説明
2016年1月1日は金曜日です.2016年a月b日は何曜日ですか?2つの数a,bを入力し,2016年a月b日が曜日である関数を返し,解を完成する.日曜日の名前は日曜日から土曜日までです.
.たとえば、a=5、b=24の場合は、5月24日が火曜日であるため、文字列「TUE」を返します.
せいげんじょうけん
I/O例
abresult524"TUE"
に答える
def solution(a, b):
answer = ''
weekend = ['SUN', 'MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT']
days = 4 # 1/1일이 금요일
# a월 전달까지의 일수를 먼저 계산
for i in range(a):
if i == 0:
pass
elif i == 2:
days += 29
elif i < 8: # 7월까지
if i % 2 == 0:
days += 30
else:
days += 31
else:
if i % 2 == 0:
days += 31
else:
days += 30
days += b # 현재 달의 해당 일수 더하기
answer = weekend[days % 7]
return answer
整理する
Reference
この問題について([プログラマー]2016年), 我々は、より多くの情報をここで見つけました https://velog.io/@choi-yh/프로그래머스-2016년テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol