[CodeKata] Week1 - Day4,5

5664 ワード


📌 CodeKata - Week1, Day4


質問する


数値numをパラメータとして渡すと、反転したシェイプがnumと同じかどうかを返します.
num: 숫자
return: true or false (뒤집은 모양이 num와 똑같은지 여부)
たとえば、
num = 123
return false 
=> 뒤집은 모양이 321 이기 때문
num = 1221
return true 
=> 뒤집은 모양이 1221 이기 때문
num = -121
return false 
=> 뒤집은 모양이 121- 이기 때문
num = 10
return false 
=> 뒤집은 모양이 01 이기 때문

答えを出す。

def same_reverse(num):
    str_num = str(num)
    r_str_num = str_num [::-1] #뒤에서부터 출력
    if str_num == r_str_num:
        return True
    else:
        return False

説明する。

def same_reverse(num):
    return str(num)[::-1] == str(num)
文字列を既存strとバックグラウンド出力したstrと比較した.「解2」は1行のコードです.

📌 CodeKata - Week1, Day5


質問する


strsは単語を含む配列です.
共通の開始語(prefix)を返してください.
例:
strs = ['start', 'stair', 'step']
return은 'st'
strs = ['start', 'wework', 'today']
return은 ''

に答える

def get_prefix(strs):
  if len(strs) == 0:
    return ''
  
  prefix = ''
  strs.sort()
  for i in range(len(strs[0])):
    if strs[0][i] == strs[-1][i]:
      prefix += strs[0][i]
    else:
      break
  return prefix
最初の空の文字列が入力されると、空の文字列が返されます.次にprefixという空の文字列を作成します.次に、リストをソートします.リストをソートすると、リスト内の文字列がアルファベット順にソートされ、中央で比較する必要はなく、先頭と末尾を比較するだけです.したがって、for文を迂回すると、最初の再文字列と基準の最初の文字列と最後の文字列の配列を1つずつ比較し、同じ場合はprefixに追加します.そうしないとprefixに戻るのを停止します.