TIL 8|アルゴリズムの複数のTIP 1について
今日はアルゴリズムの問題を解くときに悟ったことを整理します!
何を整理しますか。
前後の違う電話番号はStringです。
check_str = "abcba"
for i in range(len(check_str)//2):
# 반복문~
回文関連アルゴリズムを解くには,全長の1/2を調べるだけでよい.(どうせ前後は同じ!)
あるいは
check_str = "abcba"
if check_str == check_str[::-1]:
return True
手書きでOKな事実!簡単ですね.👍右/左にリストを押します。
# 원래 리스트!
a = [1, 2, 3, 4, 5]
# 왼쪽으로 밀기?
a = [2, 3, 4, 5, 1]
# 오른쪽으로 밀기?
a = [5, 1, 2, 3, 4]
上記の方法で作りたい場合、どんな方法が使えますか?私は最初は難解な回り道をしていたのですが
for
ゲートi
の値len(a)
step-1
の値を使って、以下の方法で書くと便利になりました!# 왼쪽으로 밀기
a.append(a.pop(0))
# 오른쪽으로 밀기
a.insert(0, a.pop())
ガチャンと鳴らす😱👍数字だけを選ぶ?
私が答えた問題は、「A 34 BV 1 DSC 6」という文字列の中で、文字が昇順に並べられ、数字が加算され、最後に文字列を入れる問題ですが、この問題では、どうして数字だけを選ぶことができますか?
# 나의 방법
for x in check_str:
if ord('0') <= x <= ord('9'):
...
このように解きほぐすのは...isdigit
関数を知るだけでOK!逆に文字列を認識する方法はisalpha()
!両関数ともreturn
銀True/False
# 더 좋은 방법
for x in check_str:
if x.isdigit():
...
ずっときれいになりました.これからもこれらの方法を堅持して、努力して勉強します!
Today, Learned
学識
a[::-1]
手軽すぎてよかった!insert
😂 isdigit()
isalpha()
!に感銘を与える
今日の一言
やはりコードの世界では、私の知っている知識はまだ新しい足の1ミクロンにも満たない.
Reference
この問題について(TIL 8|アルゴリズムの複数のTIP 1について), 我々は、より多くの情報をここで見つけました https://velog.io/@code_sign/TIL8-알고리즘에-관한-여러가지-TIP-1テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol