파이썬 2차원 리스트의 중복 제거
#items는 2차원 list
items = list(set([tuple(item) for item in items]))
파이썬에서 3항 연산자
# result = condition and when True or when False;
result = a == b and a-b or a+b
연습문제 오답노트
def solution(progresses, speeds):
answer = []
days = []
for i in range(len(progresses)):
e = 100 - progresses[i]
d = e % speeds[i] == 0 and e//speeds[i] or e//speeds[i] + 1
days.append(d)
c = 1
for i in range(0,len(days)-1):
if days[i] >= days[i+1]:
c += 1
else:
if len(days) != i-2:
answer.append(c)
c = 1
answer.append(c)
return answer
이게 틀린이유는 기준이 바로 전꺼가 아니라 뽑은 애 기준으로 해야해서임...
스택으로 다시 구현.
수정된 코드
def solution(progresses, speeds):
answer = []
days = []
for i in range(len(progresses)):
e = 100 - progresses[i]
d = e % speeds[i] == 0 and e//speeds[i] or e//speeds[i] + 1
days.append(d)
c = 1
p = days.pop(0)
while days:
t = days.pop(0)
if p >= t:
c += 1
else:
answer.append(c)
p = t
c =1
answer.append(c)
return answer