
λ§νΈμμ ν루μ ν κ°μ§ νλͺ©μ© ν μΈμ νλ€. μ νμ΄λ μνλ μ νμ΄ μμΌλ©°, λ§μ½ μ°μ 10μΌ λμ ν μΈνλ μ νμ΄ μ νμ΄κ° μνλ μ νκ³Ό μΌμΉνλ©΄ νμ λ±λ‘μ νλ €κ³ νλ€. μ νμ΄κ° μνλ λͺ¨λ μ νμ ν μΈ λ°μ μ μλ νμ λ±λ‘ λ μ§μ μ΄ μΌμλ₯Ό return. κ°λ₯ν λ μ΄ μμΌλ©΄ 0 return.
μ΄ λ¬Έμ μμλ Map μλ£κ΅¬μ‘°λ₯Ό μ¬μ©νλ€. Mapμ μ¬μ©νμ¬ μνλ μ νκ³Ό μλμ μ μ₯νκ³ , ν μΈ λͺ©λ‘κ³Ό λΉκ΅νμ¬ μΌμΉνλμ§ νμΈνλ©΄ λλ€.
μ²μμλ λͺ λ²μ§Έ λ μ νμ λ±λ‘μ ν μ§ λ°ννλ κ²μΌλ‘ μ°©κ°ν΄μ, 쑰건μ λ§μ‘±νλ λ μ΄ μμ λλ§λ€ i+1μ λ°ννλ€. κ·Έλ¬λ λ¬Έμ λ μ΄ λͺ μΌ λμ νμ λ±λ‘μ΄ κ°λ₯νμ§λ₯Ό λ¬»κ³ μμλ€...γ γ
function solution(want, number, discount) {
var answer = 0;
let totalItemsCount = 0;
const wantItemMap = new Map();
for(let i = 0;i < want.length;i++){
wantItemMap.set(want[i], number[i]);
totalItemsCount += number[i];
}
for(let i = 0;i <= discount.length-totalItemsCount;i++){
const discountItemMap = new Map(wantItemMap);
for(let j = i;j < i+totalItemsCount;j++){
if(discountItemMap.has(discount[j])){
discountItemMap.set(discount[j], discountItemMap.get(discount[j])-1);
if(discountItemMap.get(discount[j]) === 0){
discountItemMap.delete(discount[j]);
}
} else {
break;
}
}
if(discountItemMap.size === 0 ){
return i+1;
}
}
return answer;
}
function solution(want, number, discount) {
var answer = 0;
let totalItemsCount = 0;
const wantItemMap = new Map();
for(let i = 0;i < want.length;i++){
wantItemMap.set(want[i], number[i]);
totalItemsCount += number[i];
}
for(let i = 0;i <= discount.length-totalItemsCount;i++){
const discountItemMap = new Map(wantItemMap);
for(let j = i;j < i+totalItemsCount;j++){
if(discountItemMap.has(discount[j])){
discountItemMap.set(discount[j], discountItemMap.get(discount[j])-1);
if(discountItemMap.get(discount[j]) === 0){
discountItemMap.delete(discount[j]);
}
} else {
break;
}
}
if(discountItemMap.size === 0 ){
answer++;
}
}
return answer;
}
function solution(want, number, discount) {
var answer = 0;
const wantItemMap = new Map();
if(discount.length < 10) return 0;
for(let i = 0;i < want.length;i++){
wantItemMap.set(want[i], number[i]);
}
for(let i = 0;i <= discount.length-10;i++){
let isValid = true;
const discountItemMap = new Map();
for(let j = i;j < i+10;j++){
discountItemMap.set(discount[j], (discountItemMap.get(discount[j]) || 0) + 1);
}
for(const [key, value] of wantItemMap){
if(discountItemMap.get(key) !== value){
isValid = false;
break;
}
}
if(isValid) {
answer++;
};
}
return answer;
}
λ¬Έμ λ₯Ό μ λλ‘ μ μ½κ³ νμ΄μ ν루 μ’ μΌ κ³ μνλ€. κ²°κ΅ μ΄ λ μ§ μλ₯Ό λ°νν΄μΌ νλ€λ κ²μ κΉ¨λ¬μ 건 μλ²½ 12μ 30λΆμ΄μλ€. λ¬Έμ κ° νλ¦° μ μ λͺ°λΌμ κ³μν΄μ μλνμ§λ§ λ§νλ€. μ λ§ μμ κ°μ΄ λ¨μ΄μ§λ μκ°μ΄μλ€. λ€μλΆν°λ λ¬Έμ λ₯Ό λλ°λ‘ μ½κ³ μ΄ν΄νλ λ° λ μ κ²½ μ¨μΌκ² λ€...γ γ