문제
https://school.programmers.co.kr/learn/courses/30/lessons/131127
설계
- discount를 10개씩 잘라서 want의 개수만큼 있는지 비교
def solution(want, number, discount):
answer = 0
for i in range(len(discount) - len(want)):
bucket = discount[i:i + 10] # discount를 10개씩 bucket에 담아 확인
index, cnt = 0, 0 # number의 index, 과일이 있으면 cnt + 1
num = number[index]
while index <= len(want): # bucekt 확인
if num > 0: # 과일이 number의 개수만큼 있는지 확인
if want[index] in bucket:
bucket.remove(want[index])
cnt += 1
num -= 1
else:
break
else:
index += 1
if index < len(number):
num = number[index]
if cnt == sum(number): # 모든 과일이 있는지 확인
answer += 1
return answer
'PS (Problem Solving) > Programmers' 카테고리의 다른 글
[프로그래머스] 두 개 뽑아서 더하기 - 파이썬, 자바스크립트 (0) | 2023.01.16 |
---|---|
[프로그래머스] 124 나라의 숫자 - 파이썬 (0) | 2023.01.10 |
[프로그래머스] 이상한 문자 만들기 - 파이썬 (0) | 2023.01.02 |
[프로그래머스] 거리두기 확인하기 - 파이썬 (0) | 2022.12.23 |
[프로그래머스] 혼자 놀기의 달인 - 파이썬 (0) | 2022.12.19 |