[WEEK02] DAY16 & TMI

3684 ワード

DAY16


11866ジョセフスの出力形式よりも多くのことを学びました.

*[]削除および出力


https://www.delftstack.com/ko/howto/python/list-without-brackets-python/
a = [1,2,3,4,5,6]
a_str = [str(elem) for elem in a]
print('<%s>'%(', '.join(a_str)))
→ <1, 2, 3, 4, 5, 6>

.joinの意味


[‘a’,‘b’,‘c’]とともにStringのリストを構成する場合
帯.join(String List)を使用すると、String Listをマージする際に、両者の間にJoinより前のStringが挿入されます
例「」.join(['a', 'b', 'c']) → 'ab***c'
a = "".join(str(y))
a = result[1:-1]
print('<'+a+'>')

Slicing



完了コード


10830行列二乗(分割征服)



行列の乗算を知ってこそ,一般項を求めることができる.
1629の乗法問題も、数年ぶりに見た数学です
.
.

for文の[0]*nと[0 fori in range(n)]の違い


  • for文[0]*nは、同じメモリアドレスに変数値を格納し、同じ値
  • のみを除外する.
  • とは逆に、[0 fori in range(n)]を使用して[0]を生成すると、ランダムメモリアドレスに格納されるため、異なる変数値
  • がそれぞれ格納.

    写真はちょっと大きいけど、
    忘れた単位行列
    .
    .

    *タイムアウト


    行列の二乗解が完了し,最後にタイムアウトした.
    # 지수를 나누면서 부분연산을 진행하는 재귀함수
    def multi(b):
        if b == 1:
            return numbers
        
        # b가 짝수면 제곱
        if b % 2 == 0:
            # return mul_matrix(multi(b // 2), multi(b // 2)) #시간초과 이유
            val = multi(b // 2) 
            return mul_matrix(val, val)
        
        # b가 홀수면 지수-1 하고 입력받은 행렬 한번 곱해주기 (A^3 = A^2 * A)
        else:
            return mul_matrix(multi(b - 1), numbers)
    これは問題のあるコード部分であり、bを配布してサイズを縮小する過程で
    問題はreturn mul_matrix(multi(b // 2), multi(b // 2))セクション(写真参照)

    だから.val = multi(b // 2) return mul_matrix(val, val)b/2値をvalとして保存し,値を読み込むことで時間問題を解決した.
    助けてくれた元宗/鐘浩兄さんに感謝します.

    未完了コード


    1655説中間(優先順位Q)


    hip構造に関するコメント

    ヒップ部分を左heapと右heapの2つにして解決する草があります.
  • https://art-coding3.tistory.com/44
  • https://velog.io/@uoayop/BOJ-1655-%EA%B0%80%EC%9A%B4%EB%8D%B0%EB%A5%BC-%EB%A7%90%ED%95%B4%EC%9A%94Python
  • 6549ヒストグラムで最大の長方形(分割征服)



    最小高さ1に基づいてトリミングを行います.
    そして高さによって半分カット...このように繰り返します.
    コア問題は,3,4番目の矩形の大きさをどのように計算するかである.
  • https://nnnlog.tistory.com/15
  • https://st-lab.tistory.com/255
    この2つのサイトの文章が助かりました.
  • コメントの添付

  • 回の運賃を2つ受け取る方法も探さなければならない.
  • 2021.11.16

    今日の物語


    私はどのように問題を解くかを構想し、なぜ正しい問題を解く過程でもコードで実現するのが難しいのかを考えた結果、プログラミング言語の基礎文法に空白があることが分かった.
    基本的な構文の空白を記入すると、コードの実装をより熟知するはずです.
    明日は今日より2回多く乗ることを目標に勉強します.