문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/131127
문제 풀이
from collections import Counter
def solution(want, number, discount):
answer = 0
dict = {}
for i in range(len(want)):
dict[want[i]] = number[i]
for i in range(len(discount) - 9):
cnt = Counter(discount[i:i + 10])
if cnt == dict:
answer += 1
return answer
Counter 함수를 알고있다면 쉽게 풀리는 문제입니다.
Counter는 어떤 배열이 인수로 주어졌을 때 포함되어있는 원소의 개수를 카운트하여 키-값 형태로 반환합니다.
이 형태가 딕셔너리 형식이기 때문에 주어진 want와 number을 대치하여 딕셔너리로 만들어주고
Counter를 통해 구한 딕셔너리와 동일한지 확인하여 같다면 답을 1씩 더해주면 됩니다.
'Algorithm > Programmers' 카테고리의 다른 글
[프로그래머스] 큰 수 만들기 (Level 2) (파이썬 python) (1) | 2023.10.18 |
---|---|
[프로그래머스] 구명보트 (Level 2) (파이썬 python) (1) | 2023.10.18 |
[프로그래머스] 더 맵게 (Level 2) (파이썬 python) (0) | 2022.02.16 |
[프로그래머스] 베스트앨범 (Level 3) (파이썬 python) (0) | 2022.02.15 |
[프로그래머스] 위장 (Level 2) (파이썬 python) (0) | 2022.02.14 |