[プログラマー]ユニホーム
1144 ワード
質問する
リンク
に答える
reserveリストの各値で、-1と+1の値がlossにあるかどうかをナビゲートします.
値がlossの場合、lossリストの対応する値を削除します.
ない場合はreserveの次の値を使用します.
reserveとlossは繰り返すことができない/また、学生が余分な運動服(lossとreserveに重複値がある)を持ってきた場合、その学生は運動服を借りることができない->重複値を取り除く!
左(-1)から探索を開始します.->余分な運動服が残らないように、お金から探してこそ、運動服を他の人に貸すことができると思います.
コード#コード# def solution(n, lost, reserve):
set_reserve = set(reserve) - set(lost)
set_lost = set(lost) - set(reserve)
for i in set_reserve:
if i - 1 in set_lost:
set_lost.remove(i - 1)
elif i + 1 in set_lost:
set_lost.remove(i + 1)
return n - len(set_lost)
print(solution(5, [2, 4], [1, 3, 5]))
print(solution(5, [2, 4], [3]))
print(solution(3, [3], [1]))
Reference
この問題について([プログラマー]ユニホーム), 我々は、より多くの情報をここで見つけました
https://velog.io/@kimdukbae/프로그래머스-체육복
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
def solution(n, lost, reserve):
set_reserve = set(reserve) - set(lost)
set_lost = set(lost) - set(reserve)
for i in set_reserve:
if i - 1 in set_lost:
set_lost.remove(i - 1)
elif i + 1 in set_lost:
set_lost.remove(i + 1)
return n - len(set_lost)
print(solution(5, [2, 4], [1, 3, 5]))
print(solution(5, [2, 4], [3]))
print(solution(3, [3], [1]))
Reference
この問題について([プログラマー]ユニホーム), 我々は、より多くの情報をここで見つけました https://velog.io/@kimdukbae/프로그래머스-체육복テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol