[pgs KakaoTuple]正規表現とdictionaryの「in」
プログラマータルト2019ココア実習生コードテスト
reは、strタイプのデータを処理するためのRegular Expressionの略です.NLPモデルをデータプリプロセッシングする場合、re.sub(文字を検索して置換)、re.match(位置検索)などが役立ちます.
re.findallは一致する部分を見つけて抽出します.一番上のようにstrを入力するときは、かっことカンマで区切るようにします.そして,分割した文字には,数字部分のみを抽出して一つの要素にするためにfindallを用いた.[0-9]は数字を表し、+は前に1つ以上の数字がある部分を検索することを表す.たとえば、2番目の「{2,1」では、2と1が一致し、それぞれパラメータとしてリスト形式に入ります.bs 4スクロールを行うと、find allも対応するすべてのタグを検索し、リスト形式になります.これと似ています.
下図に示すように、リストがデータに含まれているか否かを判断すると、リストはO(n)、dictおよびsetはO(1)となる.dictとsetは重複を許さないので、(unique)と要素はそれぞれ自分の位置を占めているので、直接見つけることができます.
不便な点もありますが、in機能の実行にはO(1)が必要です.forまたはwhile loopでinをチェックする必要がある場合は、それを使用する必要があります.
次のテストでは、5つの数字を含む1~1000個の数字10005を生成した後、listとdictでtain関数の駆動時間を確認します.経過時間の桁数の違いからdictの速度は約10倍であることがわかる.
PSEUDO
受信 str、例えば[2],[2,1],[2,1,3],[2,1,3,4]はlist[int]形式で を作成する.は短い順序で並べ替えられ、key=len ans=dict()(辞書用) for set in list:
if num not in ans:ans[num]=True(ansに追加されたキーの1つ)
else: pass 出力のみ戻りリスト(ans.keys()キー
re.findall
reは、strタイプのデータを処理するためのRegular Expressionの略です.NLPモデルをデータプリプロセッシングする場合、re.sub(文字を検索して置換)、re.match(位置検索)などが役立ちます.
re.findallは一致する部分を見つけて抽出します.一番上のようにstrを入力するときは、かっことカンマで区切るようにします.そして,分割した文字には,数字部分のみを抽出して一つの要素にするためにfindallを用いた.[0-9]は数字を表し、+は前に1つ以上の数字がある部分を検索することを表す.たとえば、2番目の「{2,1」では、2と1が一致し、それぞれパラメータとしてリスト形式に入ります.bs 4スクロールを行うと、find allも対応するすべてのタグを検索し、リスト形式になります.これと似ています.
辞書とlistのin
下図に示すように、リストがデータに含まれているか否かを判断すると、リストはO(n)、dictおよびsetはO(1)となる.dictとsetは重複を許さないので、(unique)と要素はそれぞれ自分の位置を占めているので、直接見つけることができます.
if a in data_structure:
print(a)
逆にlist,tupleとは異なりelementを直接変更することはできない.List[i]=3などのコマンドは使用できません.不便な点もありますが、in機能の実行にはO(1)が必要です.forまたはwhile loopでinをチェックする必要がある場合は、それを使用する必要があります.
次のテストでは、5つの数字を含む1~1000個の数字10005を生成した後、listとdictでtain関数の駆動時間を確認します.経過時間の桁数の違いからdictの速度は約10倍であることがわかる.
Question
Solution
PSEUDO
受信
if num not in ans:ans[num]=True(ansに追加されたキーの1つ)
else: pass
import re
def solution(s):
split_list = s.split('},')
lists = list()
lists.append(re.findall('[0-9]+', split_list[0]))
lists.append(re.findall('[0-9]+', split_list[-1]))
for str_ in split_list[1:-1]:
lists.append(re.findall('[0-9]+', str_))
sort = sorted(lists, key=lambda x: len(x))
ans = dict()
for set1 in sort:
for num in set1:
if num in ans:
continue
ans[int(num)] = True
return list(ans.keys())
githubReference
この問題について([pgs KakaoTuple]正規表現とdictionaryの「in」), 我々は、より多くの情報をここで見つけました https://velog.io/@jonas-jun/pgs카카오-tupleテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol