첫 번째 샌드위치를 원하는 사람이 아무도 없을 때 남은 모든 학생의 숫자를 리턴하면 된다.
스택이랑 큐 문제이지만 쓸 필요 없음.. 그냥 카운터 쓰면 간단하다.
스탑 컨디션 찾는게 어려웠다. 문제를 잘 이해 못했던 것 같다.
그러니까 결국 샌드위치의 순서는 바뀌지 않고, 첫 번째 샌드위치를 원하는 학생이 있으면 학생 줄은 순서가 어떻게 되던간에
원하는 학생이 와서 샌드위치를 가져갈 것이다. 하지만 샌드위치의 순서는 변하지 않기 때문에, 첫 번째 샌드위치를
원하는 학생이 없으면 나머지 샌드위치가 어떤 것이든 남은 학생들은 모두 샌드위치를 먹지 못한다.
from collections import Counter
class Solution:
def countStudents(self, students: List[int], sandwiches: List[int]) -> int:
myCounter = Counter(students)
for sandwich in sandwiches:
if not myCounter[sandwich]:
break
else:
myCounter[sandwich] -= 1
return myCounter.total()
'알고리즘' 카테고리의 다른 글
[백준] 설탕배달 2839 solved by Python (0) | 2022.10.04 |
---|---|
leetcode 232 리트코드 232 파이썬 (0) | 2022.03.27 |