반응형
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/131127
문제
멤버쉽을 통해서 구매할려는 품목을 할인 받을 수 있는 날짜를 구해서 return 해야하는 문제입니다.
코드
1. 테스트는 통과했지만 테스트 12 말고는 실패했습니다.
def solution(want, number, discount):
answer = 0
arr = [number[idx] * [i] for idx, i in enumerate(want)]
arr = sum(arr, [])
for i in range(len(discount) - len(arr)):
idx = i
try:
tmp = discount[i: i + len(arr)]
for j in range(len(arr)):
if arr[j] not in tmp:
break
else:
tmp.remove(arr[j])
if not tmp:
answer = i + 1
break
except:
pass
return answer
2. Counter 함수 사용.(다른분 코드)
from collections import Counter
def solution(want, number, discount):
answer = 0
dic = {}
for i in range(len(want)):
dic[want[i]] = number[i]
for i in range(len(discount) -9):
if dic == Counter(discount[i:i+10]):
answer += 1
return answer
반응형
'코딩테스트' 카테고리의 다른 글
[프로그래머스 LV1] 수박수박수박수박수박수? (0) | 2023.04.26 |
---|---|
[프로그래머스 LV1]가운데 글자 가저오기 (0) | 2023.04.26 |
[프로그래머스 LV2] 연속 부분 수열 합의 개수 (0) | 2023.04.23 |
[프로그래머스 LV2] 괄호 회전하기 (0) | 2023.04.22 |
[프로그래머스] 런타임 에러 (0) | 2023.04.20 |