こちらは「Remove Element」のPythonによる解答例となっております。この問題は、整数の配列と削除する値が与えられたときに、配列内の指定された値を削除し、新しい配列の長さを返す問題です。
問題
整数の配列 nums と削除する値 val が与えられたとき、配列内の指定された値を削除し、新しい配列の長さを返します。
nums
には、0から100までの数値が含まれます。0 <= nums.length <= 100
0 <= nums[i] <= 50
0 <= val <= 100
解法
この問題は、配列内の要素を削除することができるPythonの機能を利用して解くことができます。
val
の値を持つ要素を配列から削除します。- 配列の長さを返します。
Pythonコード
以下のコードが、「Remove Element」を解くためのPythonプログラムとなります。
### Function ##################################################################
def solve(num=0):
solver = Solution().removeElement
if 1 <= num <= Input().input: id_LIST = [num]
else: id_LIST = [id+1 for id in range(Input().input)]
for id in id_LIST:
data = Input(id)
ans = solver(data.nums, data.val)
result = "OK" if ans==data.ans else "NG"
print(f"[{str(id).zfill(3)}] {result}")
### Class #####################################################################
class Solution(object):
def removeElement(self, nums, val):
"""
:type nums: List[int]
:type val: int
:rtype: int
"""
while val in nums: nums.remove(val)
return len(nums)
#==============================================================================
class Input:
def __init__(self, num=0):
if num == 1:
self.nums = [3,2,2,3]
self.val = 3
self.ans = 2
elif num == 2:
self.nums = [0,1,2,2,3,0,4,2]
self.val = 2
self.ans = 5
else:
self.input = 2
### Main ######################################################################
if __name__ == "__main__":
solve()
###############################################################################