問題の説明 LeetCode 88. Merge Sorted Array 与えられた2つの昇順リストを昇順にマージする問題です。 ただし、条件があり、nums1の配列をin-place方式でソートする必要があります。 解法 アプローチ 1) 最初に入力として与えられたnums1の0,0..の部分にnums2の配列をコピーします。 2) コピーした配列をsort()関数を使用してソートし...
[LeetCode解法] 88. Merge Sorted Array
[LeetCode解法] 80. Remove Duplicates from Sorted Array II
問題の説明 LeetCode 80. Remove Duplicates from Sorted Array II 配列から重複を最大2つだけ残して削除する問題 解法 アプローチ: Two Pointer Two Pointer를 사용하여 두 개의 인덱스를 조정하면서 풀었습니다. アプローチ: Two Pointer #111223 ij <- 같으면 dup 1...
[LeetCode解法] 27. Remove Element
問題の説明 LeetCode 27. Remove Element 指定された値(val)をリストから削除し、残った要素の数を算出するアルゴリズムです。 解法 アプローチ 1. 1) valがnumsにある限りnumsを走査して削除します。 2) 削除と同時に末尾に _ を追加します。 3) 発見するたびにcntを増やし、これを元の長さから引いて返します。 class Solution...
[LeetCode解法] 26. Remove Duplicates from Sorted Array
問題の説明 LeetCode 26. Remove Duplicates from Sorted Array ソートされた配列から重複を削除し、残った要素の値を返すアルゴリズムです。 解法 アプローチ: Two Pointer Two Pointerを使用して、左右の2つのインデックスを調整しながら重複した値を削除しました。 アプローチ: Two Pointer #0011122334 ...
[LeetCode解法] 169. Majority Element
問題の説明 LeetCode 169. Majority Element リスト内で半数以上を占める要素を見つける。 解法 アプローチ: Two Pointer 1) リストを全体的にトラバースし、辞書を作成する。 2) 辞書の中でn/2以上の回数出現する値を返す。 class Solution: def majorityElement(self, nums: List[int...
[kubernetes] k8s クライアント構成証明書の有効期限を確認する方法
Kubernetes 証明書有効期限アラート Kubernetes API サーバーへの認証に使用されるクライアント証明書が 7.0 日以内に期限切れになります。 もし上記のようなメッセージが k8s クラスタで表示された場合、それは kube config で指定された証明書が有効期限切れ寸前であることを示しています。 Kubernetes 証明書有効期限の確認 シェル スクリプト k...
[Linux] update-alternativesを使用してプログラムのバージョンを管理する
update-alternativesコマンド このコマンドに初めて出会ったのは、ローカルに複数のバージョンのPHPがインストールされているとき、これを簡単に切り替える方法を探しているときでした。 update-alternativesコマンドは、シンボリックリンクを管理するためのLinuxプログラムです。 それでは、複数のPHPバージョンがインストールされている状態でupdate-alt...
[python] DFS/BFS Pythonの基本テンプレートコードを学ぶ
グラフの探索 グラフの各頂点を訪れるグラフの探索には一般的に深さ優先探索(DFS, Deep-first Search)と幅優先探索(BFS, Breadth-First Search)があります。通常、DFSはBFSよりも広く使用され、コーディングテストではよく出題されるカテゴリーの1つです。DFSは主にスタックまたは再帰を使用して実装し、バックトラッキングに優れた効果を発揮します。一方、...
Effective Python 파이썬 코딩의 기술 요약 정리 (Chapter 3. 함수)
19. 함수가 여러 값을 반환하는 경우에는 절대로 네 값 이상을 언패킹하지 말라 이건 그냥 함수 리턴 값을 아래와 같이 많이 쓰지 말라는 얘기. min, max, avg, med, count = get_stats(lengths) 개발자가 헷갈릴 가능성이 크다. 이건 너무 당연한거라 패쓰. 20. None을 반환하기 보다는 예외를 발생시켜라 ...
Effective Python 파이썬 코딩의 기술 요약 정리 (Chapter 2. 리스트와 딕셔너리)
11. 시퀀스를 슬라이싱하는 방법을 익혀라 슬라이싱이란 시퀀스를 여러 조각으로 나누는 방법이다. 슬라이싱은 최소한의 노력으로 시퀀스에 들어있는 아이템의 부분집합에 접근할 수 있게 해준다. 슬라이싱의 기본 형태는 리스트[시작:끝]이다. 시작인덱스는 포함되지만, 끝 인덱스는 포함되지 않는다. a = [1, 2, 3, 4, 5] print(a[3:5]...