[programmers]-2016年
4458 ワード
1. Problem 📃
https://programmers.co.kr/learn/courses/30/lessons/12901
次の問題は、x月x日を入力すると曜日が表示される関数を作成することです.
2. Logic 👨🏫
3. Code 💻 def solution(a, b):
answer = ["THU","FRI","SAT","SUN","MON","TUE","WED"]
month = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
return (answer[(sum(month[:a-1]) + b) % 7])
4. Feedback 📚
def solution(a, b):
answer = ["THU","FRI","SAT","SUN","MON","TUE","WED"]
month = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
return (answer[(sum(month[:a-1]) + b) % 7])
この問題が初めて発生した場合、主にC言語を使用した経験があるため、重複文とifelse文を使用して日付を追加できます.残りの部分は上記のコードと似ています.
ただし,コード長の差が大きく,論理が不足しているため,上のコードに修正する.その過程で知ったことを整理してみます.
4.1 Sum function
「Sum Prototypesum(iterable)RETURN」パラメータとして入力したiterable内部のすべての要素の和
数値をiterable形式で入力する必要があります.すなわち、リストや凡例などの循環インデックスアクセス可能なデータ型であり、数値のみで構成されます.ここで、数字は整数であっても実数であってもよい.
Sum Prototypesum(iterable,start=0)RETURNIterableの和+start値
最初のパラメータ:iterableと数値データ付きオブジェクト、変数
2番目のパラメータ:最初に追加する数値
# ========================================================== #
# 예제 1 : 두번째 인자의 값을 정해주지 않았을 때
sum(iterable, start = 0)
result1 = sum([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
result2 = sum([])
# start에 아무것도 넣지 않으면 0이 들어간것과 같기 때문에 0이 더해져서 결과가 아래와 같습니다.
print(result1) # 출력 : 55 (리스트) + 0 (start) = 55
print(result2) # 출력 : 0 (리스트) + 0 (start) = 0
# ========================================================== #
# 예제 2 : 두번째 인자의 값을 정해줬을 때
sum(iterable, start = 0)
result3 = sum([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 45)
result4 = sum([], 45)
# start 에 45를 넣었기 때문에 첫번째 인자의 합과 45가 더해진 값이 나옵니다.
print(result3) # 출력 : 55 (리스트) + 45 (start) = 100
print(result4) # 출력 : 0 (리스트) + 45 (start) = 45
Reference
この問題について([programmers]-2016年), 我々は、より多くの情報をここで見つけました https://velog.io/@odh0112/Programmers-2016년テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol