[プログラマー]スープ
📩 -->問題の説明
数え切れない、順序付けされた、またはある順序で並べられた要素の集合を「tuple」(tuple)と呼ぶ.n個の要素を有するtupleをn tupleと呼び、以下のように表すことができる.
1.重複する要素がある可能性があります.ex : (2, 3, 1, 2)
2.要素には一定の順序があり、要素の順序が異なる場合は、異なるトーンになります.ex : (1, 2, 3) ≠ (1, 3, 2)
3.凡例の要素の数が限られている.
要素の個数がnであり、重複する要素(a 1,a 2,a 3,...,an)がない場合(ただし、a 1,a 2,...,anは自然数)、集合記号「{」,「}」を用いて表すことができる.
として表すことができます.
{{2}, {2, 1}, {2, 1, 3}, {2, 1, 3, 4}}
{{2, 1, 3, 4}, {2}, {2, 1, 3}, {2, 1}}
{{1, 2, 3}, {2, 1}, {1, 2, 4, 3}, {2}}
同じ例(2、1、3、4)をすべて表します.
せいげんじょうけん
I/O例
numbersreturn"{{2},{2,1},{2,1,3},{2,1,3,4}}"[2, 1, 3, 4]"{{1,2,3},{2,1},{1,2,4,3},{2}}"[2, 1, 3, 4]"{{20,111},{111}}"[111, 20]"{{123}}"[123]"{{4,2,3},{3},{2,3,4,1},{2,3}}"[3, 2, 4, 1]
💡 ソリューション(使用言語:python)
def solution(s):
answer=''
result=[]
empty=[]
for i in s[1:-1]:
if i.isdigit():
answer+=i
else:
if answer.isdigit():
empty.append(int(answer))
answer=''
if i=='}':
result.append(list(empty))
empty=[]
result=sorted(result, key=lambda x:len(x))[::-1]
good=[]
for i in range(len(result)):
if i==len(result)-1:
good.append(result[i][0])
else:
good.append(list(set(result[i])-set(result[i+1]))[0])
return good[::-1]
👉 説明:
{{3,2,1}, {2,1}, {1} => [[3,2,1], [2,1], [1]]
[[3,2,1], [2,1], [1]]
結果
別の解釈
def solution(s):
answer = []
s1 = s.lstrip('{').rstrip('}').split('},{')
new_s = []
for i in s1:
new_s.append(i.split(','))
new_s.sort(key = len)
for i in new_s:
for j in range(len(i)):
if int(i[j]) not in answer:
answer.append(int(i[j]))
return answer
🌈 に感銘を与える
莹の誕生日パーティーに行ってサインの結果を見て準備に時間がかかりました.すぐに解けそうな気がする.時間を無駄にした.
ソース:プログラマ
間違いがあればメッセージをお願いします🙂
Reference
この問題について([プログラマー]スープ), 我々は、より多くの情報をここで見つけました https://velog.io/@letgodchan0/프로그래머스-튜플テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol