체μ‘볡
μ μ¬μκ°μ λλμ΄ λ€μ΄, μΌλΆ νμμ΄ μ²΄μ‘볡μ λλλΉνμ΅λλ€. λ€νν μ¬λ² 체μ‘λ³΅μ΄ μλ νμμ΄ μ΄λ€μκ² μ²΄μ‘볡μ λΉλ €μ£Όλ € ν©λλ€. νμλ€μ λ²νΈλ 체격 μμΌλ‘ λ§€κ²¨μ Έ μμ΄, λ°λ‘ μλ²νΈμ νμμ΄λ λ°λ‘ λ·λ²νΈμ νμμκ²λ§ 체μ‘볡μ λΉλ €μ€ μ μμ΅λλ€. μλ₯Ό λ€μ΄, 4λ² νμμ 3λ² νμμ΄λ 5λ² νμμκ²λ§ 체μ‘볡μ λΉλ €μ€ μ μμ΅λλ€. 체μ‘λ³΅μ΄ μμΌλ©΄ μμ μ λ€μ μ μκΈ° λλ¬Έμ 체μ‘볡μ μ μ ν λΉλ € μ΅λν λ§μ νμμ΄ μ²΄μ‘μμ μ λ€μ΄μΌ ν©λλ€. μ 체 νμμ μ n, 체μ‘볡μ λλλΉν νμλ€μ λ²νΈκ° λ΄κΈ΄ λ°°μ΄ lost, μ¬λ²μ 체μ‘볡μ κ°μ Έμ¨ νμλ€μ λ²νΈκ° λ΄κΈ΄ λ°°μ΄ reserveκ° λ§€κ°λ³μλ‘ μ£Όμ΄μ§ λ, 체μ‘μμ μ λ€μ μ μλ νμμ μ΅λκ°μ return νλλ‘ solution ν¨μλ₯Ό μμ±ν΄μ£ΌμΈμ.
μ ν 쑰건
* μ 체 νμμ μλ 2λͺ
μ΄μ 30λͺ
μ΄νμ
λλ€.
* 체μ‘볡μ λλλΉν νμμ μλ 1λͺ
μ΄μ nλͺ
μ΄νμ΄κ³ μ€λ³΅λλ λ²νΈλ μμ΅λλ€.
* μ¬λ²μ 체μ‘볡μ κ°μ Έμ¨ νμμ μλ 1λͺ
μ΄μ nλͺ
μ΄νμ΄κ³ μ€λ³΅λλ λ²νΈλ μμ΅λλ€.
* μ¬λ² 체μ‘λ³΅μ΄ μλ νμλ§ λ€λ₯Έ νμμκ² μ²΄μ‘볡μ λΉλ €μ€ μ μμ΅λλ€.
* μ¬λ² 체μ‘볡μ κ°μ Έμ¨ νμμ΄ μ²΄μ‘볡μ λλλΉνμ μ μμ΅λλ€. μ΄λ μ΄ νμμ 체μ‘볡μ νλλ§ λλλΉνλ€κ³ κ°μ νλ©°, λ¨μ 체μ‘λ³΅μ΄ νλμ΄κΈ°μ λ€λ₯Έ νμμκ²λ 체μ‘볡μ λΉλ €μ€ μ μμ΅λλ€.
μ μΆλ ₯ μ
μμ #1
1λ² νμμ΄ 2λ² νμμκ² μ²΄μ‘볡μ λΉλ €μ£Όκ³ , 3λ² νμμ΄λ 5λ² νμμ΄ 4λ² νμμκ² μ²΄μ‘볡μ λΉλ €μ£Όλ©΄ νμ 5λͺ
μ΄ μ²΄μ‘μμ
μ λ€μ μ μμ΅λλ€.
μμ #2
3λ² νμμ΄ 2λ² νμμ΄λ 4λ² νμμκ² μ²΄μ‘볡μ λΉλ €μ£Όλ©΄ νμ 4λͺ
μ΄ μ²΄μ‘μμ
μ λ€μ μ μμ΅λλ€.
n | lost | reserve | return |
---|---|---|---|
5 | [2,4] | [1,3,5] | 5 |
5 | [2,4] | [3] | 4 |
3 | [3] | [1] | 2 |
λ¬Έμ νμ΄
1. νμλ€μ΄ κ°μ§κ³ μλ 체μ‘볡 μλ₯Ό λͺ¨λ 1λ‘ μ€μ νλ€.
2. 체μ‘볡μ λλλΉν νμλ€μ 체μ‘볡 μλ₯Ό 0μΌλ‘ μ€μ νλ€.
3. μ¬λ²μ κ°μ§κ³ μλ νμλ€μ 체μ‘볡 μλ₯Ό 1μ© μ¦κ°μν¨λ€.
4. 체μ‘λ³΅μ΄ 0κ°μΈ νμμ΄ μμ¬λνν
λ°μμμ λλ₯Ό ifλ¬ΈμΌλ‘ μ€μ ν¨
5. 체μ‘λ³΅μ΄ 0κ°μΈ νμμ΄ λ·μ¬λνν
λ°μμμ λλ₯Ό ifλ¬ΈμΌλ‘ μ€μ ν¨
6. 체μ‘λ³΅μ΄ 1κ° μ΄μμΈ νμλ€μ μλ₯Ό return
function solution(n, lost, reserve) {
// 1
const clothes = Array(n).fill(1);
// 2
lost.map((lost) => {clothes[lost-1] = 0});
// 3
reserve.map(reserve => {clothes[reserve-1] += 1});
for(let i=0; i < n; i++){
// 4
if(clothes[i] === 0 && clothes[i-1] ===2){
clothes[i] = 1;
clothes[i-1] = 1;
}
// 5
else if(clothes[i] === 0 && clothes[i+1] === 2){
clothes[i] = 1;
clothes[i+1]=1;
}
}
// 6
return clothes.filter(c => c > 0).length;
}
λ€λ₯Έ νμ΄ λ°©μ
function solution(n, lost, reserve) {
return n - lost.filter(a => {
const b = reserve.find(r => Math.abs(r-a) <= 1)
if(!b) return true
reserve = reserve.filter(r => r !== b)
}).length
}
'Algorithm' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Algorithm] νλ‘κ·Έλλ¨Έμ€ Lv.1 : νλ²κ±° λ§λ€κΈ° (5) | 2022.12.08 |
---|---|
[Algorithm] νλ‘κ·Έλλ¨Έμ€ Lv.1 : μ«μ μ§κΏ (2) | 2022.12.07 |
[Algorithm] νλ‘κ·Έλλ¨Έμ€ Lv.1 : ν°μΌλͺ¬ (1) | 2022.12.05 |
[Algorithm] νλ‘κ·Έλλ¨Έμ€ Lv.1 : μμ°μ λ€μ§μ΄ λ°°μ΄λ‘ λ§λ€κΈ° (1) | 2022.12.05 |
[Algorithm] νλ‘κ·Έλλ¨Έμ€ Lv.1 : μλ¦Ώμ λνκΈ° (1) | 2022.12.05 |
λκΈ