[Lidemy 學習筆記]-先別急著寫 leetcode U6//實作:內建函式

甜不辣馬拉松
9 min readDec 27, 2020

--

目錄
1.寫在之前
2.前情提要
3.開始解題
3.1 LIOJ#1036 Array reverse
3.2 LIOJ#1037 Array filter
3.3 LIOJ#1038 Array indexOf
3.4 LIOJ#1039 Array fill
3.5 LIOJ#1040 Array join
3.6 LIOJ#1041 String trim
3.7 LIOJ#1042 String toLowerCase
3.8 LIOJ#1043 String endWith
3.9 LIOJ#1044 String padEnd
3.10 LIOJ#1045 String slice
4.全部Code
5.小心得
Thanks to Sam Marx @samx for making this photo available freely on Unsplash

寫在之前

前情提要

本系列文為學習Huli製作的課程先別急著寫leetcode的心得與實作分享,使用Python 語言,正進入到Unit 6,也覺得快到尾聲了~

通過這單元的實作,真的在使用內建函式時,心裡更有底氣、更踏實且不會心虛,(尤其是python 內建函式或package 使用量很大的情況),以下題目也會以製成function的方法來實作。

附上 LIOJ 連結,https://oj.lidemy.com/problem
以下省略題目部分,只放解法程式

開始解題

LIOJ#1036 Array reverse

  • 解法一
array=[]# input
N=int(input())
for i in range(N):
array.append(int(input()))
# reverse
for j in range(len(array)):
print(array[len(array)-j-1])
  • 解法二
# input
N=int(input())
# reverse
def array_reverse(N):
array=[]
for i in range(N):
array.append(int(input()))
for j in range(len(array)):
print(array[len(array)-j-1])
array_reverse(N)

LIOJ#1037 Array filter

# delete num
delete=int(input())
# total num
N = int(input())
# filter
def filter(delete,N):
array=[]
for i in range(N):
tmp=int(input())
if tmp!=delete :
array.append(tmp)
for j in range(len(array)):
print(array[j])
filter(delete,N)

LIOJ#1038 Array indexOf

# target num
target=int(input())
# total num
N = int(input())
# indexof
def indexof(target,N):
array=[]
for i in range(N):
array.append(int(input()))
for j in range(len(array)):

if array[j]==target:
print(j)
break
else:
print("-1")
indexof(target,N)

LIOJ#1039 Array fill

# target num
target=int(input())
# total num
N = int(input())
# indexof
def fill(target,N):
array=[]
for i in range(N):
array.append(int(input()))
for j in range(len(array)):
print(target)
fill(target,N)

LIOJ#1040 Array join

  • 解法一
# target num
target=str(input())
# total num
N = int(input())
# join
def join(target,N):
array=[]

for i in range(N):
array.append(int(input()))
for j in range(len(array)):
if j ==0:
new_str=str(array[j])

else:

new_str+=str(target)
new_str+=str(array[j])

print(new_str)
join(target,N)
  • 解法二
# target num
target=str(input())
# total num
N = int(input())
def join(target,N):
array=[]

for i in range(N):
array.append(int(input()))
for j in range(len(array)):if j==len(array)-1:
print(str(array[j]),end='')
else:
print(str(array[j]),end='')
print(str(target),end='')
join(target,N)
Thanks to Na visky @navisky for making this photo available freely on Unsplash

LIOJ#1041 String trim

string=str(input())def trim(string):
New_string=''

for i in range(len(string)):
if string[i]!=' ':
New_string=string[i:]
break

print(New_string)


trim(string)

LIOJ#1042 String toLowerCase

string=str(input())# A~Z :65~90
# a~z :97~122
def toLowerCase(string):
New_string=''

for i in range(len(string)):
if 65<=ord(string[i])<=90:
New_string+=str(chr(ord(string[i])+32))
else:
New_string+=str(string[i])

print(New_string)

toLowerCase(string)

LIOJ#1043 String endWith

string=str(input())
target=str(input())
def endwith(string,target):


if string[(len(string)-len(target)):len(string)]==target:
print("true")

else:
print("false")

endwith(string,target)

LIOJ#1044 String padEnd

string=str(input())
length=int(input())
pad=str(input())
def padEnd(string,length,pad): if len(string)>=int(length):
print(string)


else:
New_str=string
while int(len(New_str))<int(length) :
New_str+=pad
if int(len(New_str))==int(length):
print(New_str)
else:
print(New_str[0:int(length)])
padEnd(string,length,pad)

LIOJ#1045 String slice

string=str(input())
start=int(input())
end=int(input())
def slice(string,start,end):
print(string[start:end])


slice(string,start,end)

全部Code

小心得

跟著課程學習越寫越順,原本要想很久的題目,慢慢得拆解一步步建造成完整的功能,也越來越快一次AC了!繼續加油~~~

❤️感恩看到這裡的你,希望這篇文章有幫上你👏歡迎拍手給我鼓勵,我是甜不辣馬拉松,我們下次見

--

--

甜不辣馬拉松

幻想自己是貝多芬,可是敲打的卻是機械鍵盤