728x90
https://school.programmers.co.kr/learn/courses/30/lessons/131127
소스코드
using System;
using System.Collections.Generic;
public class Solution
{
public int solution(string[] want, int[] number, string[] discount)
{
int answer = 0;
Dictionary<string, int> dicWant = new Dictionary<string, int>();
Dictionary<string, int> dic = new Dictionary<string, int>();
for (int i = 0; i < want.Length; i++)
dicWant.TryAdd(want[i], number[i]);
for (int i = 0; i < discount.Length; i++)
dic.TryAdd(discount[i], 0);
foreach (var item in dicWant)
{
if (dic.ContainsKey(item.Key) == false)
return 0;
}
for (int i = 0; i < discount.Length; i++)
{
string key = discount[i];
if (i > 9)
{
string rowKey = discount[i - 10];
dic[rowKey] -= 1;
}
dic[key] += 1;
bool isEquals = true;
foreach (var item in dicWant)
{
if (item.Value != dic[item.Key])
{
isEquals = false;
break;
}
}
if (isEquals)
answer++;
}
return answer;
}
}
728x90
'코딩공부 > 프로그래머스' 카테고리의 다른 글
[프로그래머스]Lv.2 주차 요금 계산 C# (0) | 2023.07.17 |
---|---|
[프로그래머스]Lv.2 두 큐 합 같게 만들기 C# (0) | 2023.07.14 |
※[프로그래머스]Lv.2 롤케이크 자르기C# (순차적으로 줄여나가기) (0) | 2023.07.07 |
※[프로그래머스]Lv.2 귤 고르기C# (Dictionary.TryAdd 중복 카운터) (0) | 2023.07.07 |
※[프로그래머스]Lv.2 숫자 변환하기 C# (Hashset) (0) | 2023.07.07 |